属性动画系统是一个健壮的框架,它几乎可以允许把任何对象变成动画
可以根据时间的推移来改变任何对象的属性来定义一个动画,而不用关心该对象是否要绘制在屏幕上
属性动画是在指定的时间长度上改变一个属性(对象中的一个成员字段)的值
要让某些对象变成动画,就要给该对象指定想要的动画属性,如果对象在屏幕上的位置、动画的停留时间以及动画之间的值等
属性动画系统可以定义以下动画特性: 1
持续时间(Du ration):指定动画的持续时间
默认长度是300 毫秒
时间插值(Time interpolation):这个值能够做为计算当前动画运行时间的函数的属性值来指定,它决定动画的变化频率
重复次数和行为(Repeat cou nt and behav ior) 这个属性能够指定在动画结束时是否重新播放动画,以及重复播放的次数
还能够指定动画是否能够反向回播,如果设置了反向回播,那么动画就会先向前再向后,重复播放,直到达到播放次数
动画集合(Animator sets):你能够把动画组织到一个逻辑集合中,然后或者同时、或者顺序的、或者延迟播放它们
帧刷新延迟(Frame refresh delay ):你能够指定动画帧的刷新频率
默认是每 10 秒中刷新一次,但是应用程序最终的刷新帧的速度依赖与系统的繁忙程度以及系统能够提供的底层定时器的反应速度
属性动画是如何工作的 首先,让我们用一个简单的例子来看一下动画的工作方式
图 1 绘制了一个假想的动画对象,它用x 属性来表示其在屏幕上的水平位置
动画的持续时间被设置为 40 毫秒,并且移动的距离是40 个像素
每 10 毫秒,是默认的帧刷新频率,即每 10 毫秒对象水平移动10 个像素
在40 毫秒结束时,动画停止,并且动画要停留在水平 40 像素点的位置上
这是一个线性插值的动画示例,意味着动画匀速运动