天天看点

Android -- 补间动画

补间动画的优点是可以节省空间。补间动画与逐帧动画在本质上是不同的,逐帧动画通过连续播放图片来模拟动画的效果,而补间动画则是通过在两个关键帧之间补充渐变的动画效果来实现的。目前Android应用框架支持的补间动画效果有以下5种。具体实现在android.view.animation类库中。

AlphaAnimation:透明度(alpha)渐变效果,对应<alpha/>标签。

TranslateAnimation:位移渐变,需要指定移动点的开始和结束坐标,对应<translate/>标签。

ScaleAnimation:缩放渐变,可以指定缩放的参考点,对应<scale/>标签。

RotateAnimation:旋转渐变,可以指定旋转的参考点,对应<rotate/>标签。

AnimationSet:组合渐变,支持组合多种渐变效果,对应<set/>标签。

补间动画的效果同样可以使用XML语言来定义,这些动画模板文件通常会被放在Android项目的res/anim/目录下。

主代码                                                                                        

Android -- 补间动画
Android -- 补间动画

Animation的xml                                                                       

Android -- 补间动画
Android -- 补间动画
Android -- 补间动画
Android -- 补间动画
Android -- 补间动画
Android -- 补间动画
Android -- 补间动画
Android -- 补间动画

代码解析                                                                                    

alpha

fromAlpha :起始透明度 

toAlpha:结束透明度 

1.0表示完全不透明

0.0表示完全透明

rotate

fromDegrees:表示旋转的起始角度 

toDegrees:表示旋转的结束角度 

repeatCount:旋转的次数  默认值是0 代表旋转1次  如果值是repeatCount=4 旋转5次,值为-1或者infinite时,表示补间动画永不停止 

repeatMode 设置重复的模式。默认是restart。当repeatCount的值大于0或者为infinite时才有效。

 repeatCount=-1 或者infinite循环了  还可以设成reverse,表示偶数次显示动画时会做与动画文件定义的方向相反的方向动行。

scale

fromXScale:表示沿着x轴缩放的起始比例 

toXScale:表示沿着x轴缩放的结束比例 

fromYScale:表示沿着y轴缩放的起始比例 

toYScale:表示沿着y轴缩放的结束比例 

图片中心点: 

translate

android:interpolator 动画的渲染器 

accelerate_interpolator(动画加速器) 使动画在开始的时候 最慢,然后逐渐加速 

decelerate_interpolator(动画减速器)使动画在开始的时候 最快,然后逐渐减速 

accelerate_decelerate_interpolator(动画加速减速器) 

中间位置分层:  使动画在开始的时候 最慢,然后逐渐加速          

使动画在开始的时候 最快,然后逐渐减速  结束的位置最慢 

fromXDelta  动画起始位置的横坐标 

toXDelta    动画起结束位置的横坐标 

fromYDelta  动画起始位置的纵坐标 

toYDelta   动画结束位置的纵坐标 

duration 动画的持续时间 

在实际项目中,我们经常使用补间动画,原因是补间动画使用起来比较方便,功能也比逐帧动画强大不少,而且还可以很方便地进行动画叠加,实现更加复杂的效果。

我是天王盖地虎的分割线                 

<b></b>

<b>本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3829860.html,如需转载请自行联系原作者</b>

继续阅读