Android动画-Interpolator(插值器)大全

本章内容

花了点时间,把所有动画的插值器都用了一遍,写了个Demo分享下,看效果之前先看下Android动画中插值器的类型:

AccelerateDecelerateInterpolator   
@android:anim/accelerate_decelerate_interpolator
在动画开始与介绍的地方速率改变比较慢,在中间的时候加速

AccelerateInterpolator    
@android:anim/accelerate_interpolator                 
在动画开始的地方速率改变比较慢,然后开始加速

AnticipateInterpolator  
@android:anim/anticipate_interpolator                    
开始的时候向后然后向前甩

AnticipateOvershootInterpolator    
@android:anim/anticipate_overshoot_interpolator 
开始的时候向后然后向前甩一定值后返回最后的值

BounceInterpolator      
@android:anim/bounce_interpolator                    
动画结束的时候弹起

CycleInterpolator  
@android:anim/cycle_interpolator                           
动画循环播放特定的次数,速率改变沿着正弦曲线

DecelerateInterpolator 
@android:anim/decelerate_interpolator                   
在动画开始的地方快然后慢

LinearInterpolator
@android:anim/linear_interpolator                            
以常量速率改变

OvershootInterpolator   
@android:anim/overshoot_interpolator                   
向前甩一定值后再回到原来位置

设置插值器的代码很简单 alphaAnimation.setInterpolator(baseInterpolator);
XML中的用法
android:interpolator="@android:anim/accelerate_decelerate_interpolator"

接下来就仔细的看看效果吧:

AccelerateDecelerateInterpolator

在动画开始与介绍的地方速率改变比较慢,在中间的时候加速



AccelerateInterpolator

在动画开始的地方速率改变比较慢,然后开始加速

Android动画-Interpolator(插值器)大全_第1张图片

AnticipateInterpolator

开始的时候向后然后向前甩

Android动画-Interpolator(插值器)大全_第2张图片

AnticipateOvershootInterpolator

开始的时候向后然后向前甩一定值后返回最后的值



BounceInterpolator

动画结束的时候弹起


CycleInterpolator

动画循环播放特定的次数,速率改变沿着正弦曲线

Android动画-Interpolator(插值器)大全_第3张图片

DecelerateInterpolator

在动画开始的地方快然后慢



LinearInterpolator

以常量速率改变


OvershootInterpolator

向前甩一定值后再回到原来位置

最后 CycleInterpolator 这个插值器需要注意下,它的构造函数需要传入一个float值,这个值就是动画重复的次数,并且如过对这个差值器 设置 android:fillAfter=”true” 那么动画结束后,你看到的回事动画开始的第一幕(第一帧),如果不设置或者设置成 android:fillBefore=”true”,那么看到的回事控件本身的XML的状态

就这些了,源码下载:
http://download.csdn.net/detail/cjh_android/9532238

你可能感兴趣的:(android,动画)