Android动画系列(二):Tween动画

来源:互联网 发布:数据过滤算法 编辑:程序博客网 时间:2024/04/30 03:28

        你能够使用视图动画系统来执行View对象上的渐变动画。渐变动画是用诸如开始点、结束点、尺寸、旋转以及一些其他的动画特性来计算的动画。

       渐变动画能够在View对象的内容上执行一个简单的变换系列(位置、尺寸、旋转和透明度)。因此,如果有一个TextView对象,就能够移动、旋转、放大或缩小文本。如果该TextView对象有一个背景图片,那么这个背景图片会跟文本一起变换。

        动画指令序列定义了渐变动画,这些指令既可以用XML来定义,也可以用Android代码来定义。跟布局定义一样,推荐使用XML来定义动画,因为它更加可读、可重用、并且比应编码的动画更加可插拔。在下面的例子中,我们使用XML。

        用XML定义的动画放在/res/anim/文件夹内,XML文件的根元素可以为<alpha>,<scale>,<translate>,<rotate>元素或<set>(表示以上几个动画的集合,set可以嵌套)。默认情况下,所有动画是同时进行的,可以通过startOffset属性设置各个动画的开始偏移(开始时间)来达到动画顺序播放的效果。

  可以通过设置interpolator属性改变动画渐变的方式,如AccelerateInterpolator,开始时慢,然后逐渐加快。默认为AccelerateDecelerateInterpolator。

     下面简单介绍一下Tween动画,具体的实现请参考附件源码

      源码简单实现了alpha、scale、translate、rotate四种动画效果,并且对相应的属性做了必要的注释,这里就不详细说明。

      透明度控制动画效果 alpha:

    <alpha
        android:interpolator="@android:anim/decelerate_interpolator"
        android:fromAlpha="1.0"
        android:toAlpha="0.1"
        android:duration="@integer/anim_duration"
        android:fillAfter="true"
        />

      目标对象有完全可以逐渐过渡到能见到只有10%,当动画持续时间到时,目标对象按原定义正常显示,即这种动画不会影响目标对象的最终显示,而只是在目标对象显示的过程中添加动画而已。

0 0
原创粉丝点击