Interpolator插值器
作用:控制动画执行过程中的速度:线性,正玄,正切,圆抛物线等,形成不同的动画效果),因此,插值器的本质就是一个动画执行速度控制器。
1、插值器各值的含义:
AccelerateDecelerateInterpolator:在动画开始与结束的地方速率改变比较慢,中间的时候加速
AccelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始加速
AnticipateInterpolator:开始的时候向后,然后向前甩
AnticipateOvershootInterpolator:开始的时候向后,然后向前甩一定值后返回最后的值
BounceInterpolator:动画结束的时候弹起(像装水的气球会有弹性一样)
CycleInterpolator:动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator:在动画开始的地方快然后慢
LinearInterpolator:以常量速率改变
OvershootInterpolator:向前甩一定值后,再回到原来位置
2、插值器各值的格式:
AccelerateDecelerateInterpolator:@android:anim/accelerate_decelerate_interpolator
AccelerateInterpolator:@android:anim/accelerate_interpolator
AnticipateInterpolator:@android:anim/anticipate_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
3、插值器各值的用法:
Xm中的用法:
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromDegrees="0"android:toDegrees="360"android:pivotX="50%"
android:pivotY="50%" android:duration="700"android:fillAfter="true"/>
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fromAlpha="0.0"android:toAlpha="1.0"
android:duration="3000" android:fillAfter="true"/>
Java代码中的用法:
AnimationSet mAnimationSet = new AnimationSet(true);
mAnimationSet.setInterpolator(new DecelerateInterpolator());