Android 动画之RotateAnimation应用实例
来源:互联网 发布:淘宝网上可以免费开店 编辑:程序博客网 时间:2024/06/11 21:13
Android Animation共有四大类型,分别是
Alpha 透明度动画
Scale 大小伸缩动画
Translate 位移动画
Rotate 旋转动画
这四类动画按模式又可分为:
tweened animation(渐变动画) —— alpha 与 scale
frame by frame(画面转换动画) —— translate 与 rotate
官方给予的Rotate常用属性如上所示。
android:drawable 需要进行旋转动画的图片
android:fromDegrees 旋转的起始点(旋转开始的角度)
android:toDegrees 旋转的结束点(旋转最终角度)
andoird:pivotX 旋转点的X值(距离左侧的偏移量)
android:pivotY旋转点的Y值(距离顶部的偏移量)
android: visible这个好理解,就是图片初始的显示状态
详细属性说明如下:
android:fromDegrees
起始的角度度数。
android:toDegrees
结束的角度度数,负数表示逆时针,正数表示顺时针。如10圈则比android:fromDegrees大3600即可。
android:pivotX
旋转中心的X坐标。浮点数或是百分比。浮点数表示相对于Object的左边缘,如5; 百分比表示相对于Object的左边缘,如5%; 另一种百分比表示相对于父容器的左边缘,如5%p; 一般设置为50%表示在Object中心。
android:pivotY
旋转中心的Y坐标。浮点数或是百分比。浮点数表示相对于Object的上边缘,如5; 百分比表示相对于Object的上边缘,如5%; 另一种百分比表示相对于父容器的上边缘,如5%p; 一般设置为50%表示在Object中心
android:duration
表示从android:fromDegrees转动到android:toDegrees所花费的时间,单位为毫秒。可以用来计算速度。
android:interpolator
表示变化率,但不是运行速度。一个插补属性,可以将动画效果设置为加速,减速,反复,反弹等。默认为开始和结束慢中间快,
android:startOffset
在调用start函数之后等待开始运行的时间,单位为毫秒,若为10,表示10ms后开始运行。
android:repeatCount
重复的次数,默认为0,必须是int,可以为-1表示不停止。
android:repeatMode
重复的模式默认为restart即重头开始重新运行,可以为reverse即从结束开始向前重新运行。在android:repeatCount大于0或为infinite时生效。
android:detachWallpaper
表示是否在壁纸上运行。
android:zAdjustment
表示被animated的内容在运行时在z轴上的位置,默认为normal。normal保持内容当前的z轴顺序,top运行时在最顶层显示,bottom运行时在最底层显示。
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <rotate android:fromDegrees="0" android:toDegrees="360" android:duration="900" android:repeatCount="-1" android:pivotX="50%" android:pivotY="50%"/></set>
在activity_main.xml主布局文件中添加imageView布局控件
<ImageView android:id="@+id/ivRotatePicture1" android:layout_width="100dp" android:layout_height="100dp" android:layout_centerInParent="true" android:src="@drawable/pic_wind" />
最后看下main_activity.java对Animation的实现:
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView = (ImageView) findViewById(R.id.ivRotatePicture);imageView.setOnClickListener(this);//这里想点击图片 改变旋转速度animation = AnimationUtils.loadAnimation(this, R.anim.rotate_anim);LinearInterpolator lin = new LinearInterpolator();//设置旋转方式为匀速旋转animation.setInterpolator(lin);//设置旋转方式为匀速旋转animation.setDuration(1200);//设置旋转一周时间imageView.setAnimation(animation);//将动画和image控件相关联imageView.startAnimation(animation);//最后启动动画 }
付上运行效果图
最后附上自己调试代码源码,欢迎提意见!
http://download.csdn.net/detail/u014159143/9911289
- Android 动画之RotateAnimation应用实例
- Android 动画之RotateAnimation应用详解
- Android 动画之RotateAnimation应用详解
- Android 动画之RotateAnimation应用详解
- Android 动画之RotateAnimation应用详解
- Android 动画之RotateAnimation应用详解
- Android 动画之RotateAnimation应用详解
- Android 动画之RotateAnimation应用详解
- Android 动画之RotateAnimation应用详解
- Android 动画之RotateAnimation应用详解
- Android 动画之RotateAnimation应用详解
- Android动画之RotateAnimation
- Android Tween动画之RotateAnimation
- Android 常用动画之RotateAnimation
- Android动画之RotateAnimation使用
- Android 动画之RotateAnimation应用详解(旋转动画效果 )(转载)
- Android 动画 Tweened Animation 之 RotateAnimation
- Android动画之RotateAnimation的基本用法
- 二维数组以其中某个值作为键值
- JAVA编程思想--多态
- Python 字典
- Activity动画场景转换ActivityOptionsCompat.makeSceneTransitionAnimation
- 新手上路
- Android 动画之RotateAnimation应用实例
- python3 多线程爬虫
- 66
- 链表的游标实现
- iOS通知使用优化
- 67
- 68
- easyui两个方框,左移右移
- 入门级 MVP