android Tween动画 (一)

http://blog.163.com/yimigao@126/blog/static/6715605020111134657352/android


Tween动画是展示出旋转、渐变、移动、缩放的这么一种转换过程,即补间动画。Tween动画有两种定义方式:XML形式,编码形式。动画

XML定义动画,按照动画定义语法完成XML,置于/res/anim目录下,文件名做为资源ID引用;this

编码定义动画,使用Animation对象。编码

XML定义动画语法spa

XML文件中必须有一个根元素,能够是<alpha>、<scale>、<translate>、<rotate>中的任意一个,也能够是<set>来管理一个由前面几个元素组成的动画集合。orm

<set>是一个动画容器,管理多个动画的群组,与之相对应的Java对象是AnimationSet。它有两个属性,android:interpolator表明一个插值器资源,能够引用系统自带插值器资源,也能够用自定义插值器资源,默认值是匀速插值器;稍后我会对插值器作出详细讲解。android:shareInterpolator表明<set>里面的多个动画是否要共享插值器,默认值为true,即共享插值器,若是设置为false,那么<set>的插值器就再也不起做用,咱们要在每一个动画中加入插值器。
对象

<alpha>是渐变更画,能够实现fadeIn和fadeOut的效果,与之对应的Java对象是AlphaAnimation。android:fromAlpha属性表明起始alpha值,浮点值,范围在0.0和1.0之间,分别表明透明和彻底不透明,android:toAlpha属性表明结尾alpha值,浮点值,范围也在0.0和1.0之间。blog

<scale>是缩放动画,能够实现动态调控件尺寸的效果,与之对应的Java对象是ScaleAnimation。android:fromXScale属性表明起始的X方向上相对自身的缩放比例,浮点值,好比1.0表明自身无变化,0.5表明起始时缩小一倍,2.0表明放大一倍;android:toXScale属性表明结尾的X方向上相对自身的缩放比例,浮点值;android:fromYScale属性表明起始的Y方向上相对自身的缩放比例,浮点值;android:toYScale属性表明结尾的Y方向上相对自身的缩放比例,浮点值;android:pivotX属性表明缩放的中轴点X坐标,浮点值,android:pivotY属性表明缩放的中轴点Y坐标,浮点值,对于这两个属性,若是咱们想表示中轴点为图像的中心,咱们能够把两个属性值定义成0.5或者50%。资源

<translate>是位移动画,表明一个水平、垂直的位移。与之对应的Java对象是TranslateAnimation。android:fromXDelta属性表明起始X方向的位置,android:toXDelta表明结尾X方向上的位置,android:fromYScale属性表明起始Y方向上的位置,android:toYDelta属性表明结尾Y方向上的位置,以上四个属性都支持三种表示方式:浮点数、num%、num%p;若是以浮点数字表示,表明相对自身原始位置的像素值;若是以num%表示,表明相对于本身的百分比,好比toXDelta定义为100%就表示在X方向上移动本身的1倍距离;若是以num%p表示,表明相对于父类组件的百分比。get

<rotate>是旋转动画,与之对应的Java对象是RotateAnimation。android:fromDegrees属性表明起始角度,浮点值,单位:度;android:toDegrees属性表明结尾角度,浮点值,单位:度;android:pivotX属性表明旋转中心的X坐标值,android:pivotY属性表明旋转中心的Y坐标值,这两个属性也有三种表示方式,数字方式表明相对于自身左边缘的像素值,num%方式表明相对于自身左边缘或顶边缘的百分比,num%p方式表明相对于父容器的左边缘或顶边缘的百分比。

另外,在动画中,若是咱们添加了android:fillAfter="true"后,这个动画执行完以后保持最后的状态;android:duration="integer"表明动画持续的时间,单位为毫米。

XML动画使用代码

ImageView image = (ImageView) findViewById(R.id.image);

Animation testAnim = AnimationUtils.loadAnimation(this, R.anim.test);

image.startAnimation(testAnim);

相关文章
相关标签/搜索