一、动画简介:
一个animation资源能够定义两种动画。
1、 Property Animation (在3.0以后支持)
2、 View Animation
有两种类型的动画被viewanimation framework支持。
(1) Tween Animation(补间动画)
能够执行平移、缩放、旋转、渐变的动画效果
(2) Frameanimation(帧动画)
按照一定的顺序播放图像形成动画。
其有两个关键的属性:
android:oneshot
Boolean. "true" if you want to perform the animation once;"false" to loop the animation.
android:duration
Integer. The duration to show this frame, in milliseconds.
二、Tween Animation
Android的Tween Animation由四种类型组成
在XML文件中:
alpha 渐变透明度动画效果
scale 渐变尺寸伸缩动画效果
translate 画面转换位置移动动画效果
rotate 画面转移旋转动画效果
在Java 源码中定义了相应的类,可以使用这些类的方法来获取和操作相应的属性:
AlphaAnimation渐变透明度动画效果
ScaleAnimation渐变尺寸伸缩动画效果
TranslateAnimation画面转换位置移动动画效果
RotateAnimation画面转移旋转动画效果
下图除了AnimationSet 是指动画效果的集合,其他的都是系统提供的动画4个基本的实现
下面这个表格的信息来源于(http://www.cnblogs.com/feisky/archive/2010/01/11/1644482.html)但是更加详细信息的说明请参考(http://developer.android.com/guide/topics/resources/animation-resource.html#Property)
Tween Animation共同的节点属性
属性[类型] | 功能 | 备注 |
Duration[long] | 属性为动画持续时间 | 时间以毫秒为单位 |
fillAfter [boolean] | 当设置为true ,该动画转化在动画结束后被应用 | |
fillBefore[boolean] | 当设置为true ,该动画转化在动画开始前被应用 | |
interpolator | 指定一个动画的插入器 | 有一些常见的插入器 |
repeatCount[int] | 动画的重复次数 | |
RepeatMode[int] | 定义重复的行为 | 1:重新开始 2:plays backward |
startOffset[long] | 动画之间的时间间隔,从上次动画停多少时间开始执行下个动画 | |
zAdjustment[int] | 定义动画的Z Order的改变 | 0:保持Z Order不变 |
表二 | ||
XML节点 | 功能说明 | |
alpha | 渐变透明度动画效果 | |
<alpha | ||
fromAlpha | 属性为动画起始时透明度 | 0.0表示完全透明 duration为动画持续时间,ms单位 |
toAlpha | 属性为动画结束时透明度 |
表三 | |||
scale | 渐变尺寸伸缩动画效果 | ||
<scale | |||
fromXScale[float] fromYScale[float] | 为动画起始时,X、Y坐标上的伸缩尺寸 | 0.0表示收缩到没有 | |
toXScale [float] | 为动画结束时,X、Y坐标上的伸缩尺寸 | ||
pivotX[float] | 为动画相对于物件的X、Y坐标的开始位置 | 属性值说明:从0%-100%中取值,50%为物件的X或Y方向坐标上的中点位置 |
translate支持垂直和水平的移动,其属性支持下面的三种格式 1、 从-100%到100% ,表示了一个相对于他自己的百分比。 2、 从-100%p到100%p,表示了一个相对于他父控件的百分比。 3、 一个float值,没有后缀,indicating an absolute value. Represents a TranslateAnimation.
| |||
表四 | |||
translate | 画面转换位置移动动画效果 | ||
<translate | |||
fromXDelta | 为动画、结束起始时 X坐标上的位置 | ||
fromYDelta | 为动画、结束起始时 Y坐标上的位置 |
表五 | |||
rotate | 画面转移旋转动画效果 | ||
<rotate | |||
fromDegrees | 为动画起始时物件的角度 | 说明 | |
toDegrees | 属性为动画结束时物件旋转的角度 可以大于360度 | ||
pivotX | 为动画相对于物件的X、Y坐标的开始位 | 说明:以上两个属性值 从0%-100%中取值 |
参考:
http://www.cnblogs.com/feisky/archive/2010/01/11/1644482.html
http://blog.csdn.net/ithomer/article/details/7523328
http://developer.android.com/guide/topics/resources/animation-resource.html