2.视图动画
2.1 视图动画标签
2.1.1 概述
Android 的视图动画由5种类型组成:
- alpha:渐变透明度动画效果。
- scale:渐变尺寸伸缩动画效果。
- translate:画面变换位置移动动画效果。
- rotate:画面转移旋转动画效果。
- set:定义动画集。
举例:
scale标签定义XML 动画文件:
<?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:fromXScale="0.0" android:toXScale="1.4" android:fromYScale="0.0" android:toYScale="1.4" android:duration="700"/>
存放位置:
res/anim
;访问方式:R.anim.XXX
也可以存放在:
res/drawable
;访问方式:R.drawable.XXX
2.1.2 scale标签
- fomXScale:动画起始时,控件在X轴方向上相对自身的缩放比例,浮点值。
- toXScale:动画结束时,控件在X 轴方向上相对自身的缩放比例,浮点值。
- fomYScale:动画起始时,控件在Y 轴方向上相对自身的缩放比例,浮点值。
- toYScale : 动画结束时,控件在Y 轴方向上相对自身的缩放比例,浮点值。
- pivotX:缩放起始点X轴坐标,可以是数值、百分数、百分数p三种样式。
- pivotY:缩放起始点Y 轴坐标。
2.1.3 Animation继承属性
- duration :用于设置完成一次动画的持续时间,以毫秒为单位。
- fillAfter:如果设置为true,则控件动画结束时,将保持动画结束时的状态。
- fillBefore:如果设置为true,则控件动画结束时,将还原到初始化状态。
- fillEnable:与fillBefore效果相同。
- repeatCount:用于指定动画的重复次数,当取值为infinite时,表示无限循环。
- repeatMode :用于设定重复的类型,有reverse 和restart 两个值。需与repeatCount一起使用。
- interpolator:用于设定插值器,其实就是指定的动画效果,比如弹跳效果等。
2.1.4 alpha 标签
- fomAlpha:动画开始时的透明度,取值范围为0.0~1 .0,0.0表示全透明,1.0表示完全不透明。
- toAlpha:动画结束时的透明度,取值范围为0.0~ 1.0,0.0表示全透明,1.0表示完全不透明。
2.1.5 rotate 标签
- fromDegrees :动画开始旋转时的角度位置,正值代表顺时针方向的度数,负值代表逆时针方向的度数。
- toDegrees :动画结束时旋转到的角度位置,正值代表顺时针方向的度数,负值代表逆时针方向的度数。
- pivotX: 旋转中心点X轴坐标,默认旋转中心点是控件坐标原点。可以是数值、百分数、百分数p 三种样式。
- pivotY: 旋转中心点Y轴坐标。
2.1.6 translate 标签
- fromXDelta:起始点X轴坐标,可以是数值、百分数、百分数p三种样式。
- fromYDelta:起始点Y轴坐标。
- toXDelta:终点X轴坐标。
- toYDelta:终点Y轴坐标。
2.1.7 set 标签
- set标签是一个容器类标签,用于定义动画集。
- 注意:在set标签中设置repeateCount属性是无效的,必须对每个动画单独设直才有作用。
2.2 视图动画的代码实现
2.2.1 概述
- 标签与所对应的类如下表所示:
标签 | 类 |
---|---|
scale | ScaleAnimation |
alpha | AlphaAnimation |
rotate | RotateAnimation |
translate | TranslateAnimation |
set | AnimationSet |
- Animation类里的标签属性与方法的对应关系:
标签属性 | 方法 |
---|