Android View 视图动画
来源:互联网 发布:盒子k歌软件 编辑:程序博客网 时间:2024/06/09 14:12
视图动画提供了四种动画方式:
透明度动画:AlphaAnimation
旋转动画:RotateAnimation
位移动画:TranslateAnimation
缩放动画:ScaleAnimation
这四种动画动画共同拥有的方法:
1、设置动画持续时长
setDuration(long durationMillis)
参数durationMillis的单位为毫秒。
2、为View绑定动画
View.setAnimation(Animation animation)
参数animation就是我们定义的动画对象
3、开始动画
View.startAnimation(Animation animation)
参数animation就是我们定义的动画对象
4、设置动画重复次数
setRepeatCount(int repeatCount)
参数repeatCount就是重复次数,如果设置为-1则表示一直重复
5、结束动画
cancel()
6、设置插值器
setInterpolator(Interpolator i)
参数是一个Interpolator对象
关于都有哪些类型的Interpolator对象,这里有一篇非常好的博客:插值器
下面分别介绍几个重要方法
一、AlphaAnimation
1、构造方法
AlphaAnimation(float fromAlpha, float toAlpha)
参数含义:
第一个参数fromAlpha:动画开始时的透明度
第二个参数toAlpha:动画结束时的透明度
这里需要注意的是这两个值的范围为[ 0.0 , 1.0 ],0.0为完全透明,1.0为完全不透明
二、RotateAnimation
1、构造方法
RotateAnimation(float fromDegrees, float toDegrees, float pivotX, float pivotY)
参数含义:
第一个参数fromDegrees:旋转开始的角度
第二个参数toDegrees:旋转结束的角度
第三个参数pivotX:旋转中心点的x坐标
第四个参数pivotY:旋转中心点的y坐标
需要注意的是,这里的角度是从x轴正方向下方开始的
三、TranslateAnimation
1、构造方法
TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
这个参数不是很好理解,举一个例子吧
如果当前View在(10,10)点,构造方法参数为(0,10,0,10),那么View从当前位置滑动到(20,20)点。
如果当前View在(10,10)点,构造方法参数为(10,10,10,10),那么View从当前位置跳跃到(20,20)点,再滑动到(30,30)点。
四、ScaleAnimation
1、构造方法
ScaleAnimation(float fromX, float toX, float fromY, float toY)
参数含义:
fromX:动画开始时x坐标的伸缩尺寸
toX:动画结束时x坐标的伸缩尺寸
fromY:动画开始时y坐标的伸缩尺寸
toY:动画结束时y坐标的伸缩尺寸
这四种动画也可以使用XMl文件来编写,一般情况下推荐使用XML文件,这种XML文件需要在res/anim文件夹下创建
那么这里涉及到5个标签:
set
alpha
scale
translate
rotate
下面分别说一下这5个标签:
一、set
set标签表示动画集合,对应AnimationSet类
它的属性有:
1、android:interpolator
表示动画所采用的插值器,插值器影响动画的速度。
2、android:shareInterpolator
表示集合中的动画是否共享同一个插值器
3、android:fillAfter
表示动画结束以后是否停留在结束状态
二、translate
表示平移动画,对应TranslateAnimation类
它的属性有:
1、android:fromXData
表示起点的x坐标
2、android:fromYData
表示起点的y坐标
3、android:toXData
表示终点的x坐标
4、android:toYData
表示终点的y坐标
三、scale
表示缩放动画,对应ScaleAnimation类
它的属性有:
1、android:fromXScale
表示水平方向缩放的起始值
2、android:toXScale
表示水平方向缩放的结束值
3、android:fromYScale
表示竖直方向缩放的起始值
4、android:toYScale
表示竖直方向缩放的结束值
5、android:pivotX
表示缩放中心的x坐标
6、android:pivotY
表示缩放中心的y坐标
默认情况下缩放中心是View的中心点
四、rotate
表示旋转动画,对应RotateAnimation类
1、android:fromDegrees
表示旋转开始的角度
2、android:toDegrees
表示旋转结束的角度
3、android:pivotX
表示旋转中心的x坐标
4、android:pivotY
表示旋转中心的y坐标
默认旋转中心为View的中心。
五、alpha
表示透明度动画,对应AlphaAnimation类
1、android:fromAlpha
表示透明度的起始值
2、android:toAlpha
表示透明度的结束值
另外有一个通用属性:
1、android:duration
表示动画持续时间
- Android View 视图动画
- Android视图动画---View Animation
- Android视图动画(View Animation)
- Android-View Animation(视图动画)
- Android View动画(视图动画)
- Android动画之View animation(视图动画)
- Android 动画之 ---- View Animation (视图动画,补间动画)
- android 动画 ——视图动画(View Animation)
- Android动画之View Animation(视图动画)
- Android 一个视图界面内某一View设置动画,其他视图view.setvisibility无效得解决方法
- Android 点击View Rotate旋转带视图动画
- Android Material Design动画 View state changes|视图状态改变
- Android动画--视图动画
- Android动画-View动画
- 视图动画(View Animation)
- 视图动画View Animation入门
- View Animation(视图动画)
- 动画——视图动画(View Animation)
- norflash-nandflash-SDRAM的区别及作用
- 邮件客户端WebMail Pro v7.7.5发布,在线订购限时75折优惠!
- java post 表单传参与json传参
- 编译内核出现kernel/timeconst.pl line 373
- 结构体与类
- Android View 视图动画
- 12. 图--图的遍历
- Linux文件属性3——文件权限管理
- windows7 下Anaconda2与Anaconda3并存,安装Tensorflow
- Android视频直播原理
- linux定时运行命令
- 关于SQLITE日期的说明
- C#设计模式总结
- 关于navicat 系列软件一点击菜单栏就闪退