Android中的插值器有很多,下面分别讲解这些插值器到底有什么功能,根据功能来选择比较适合你的动画插值器。
TOP 1 AccelerateInterpolator
accelerateInterpolator是加速插值器,表示动画开始的时候速率变化比较慢,然后开始加速
使用案例:
TextView tv = (TextView)findViewById(R.id.tv);
Animation animation = AnimationUtils.loadAnimation(this,R.anim.rotateanim);rotateAnim.setInterpolator(newAccelerateInterpolator());tv.startAnimation(tranlateAnim);
rotateanim.xml文件
<rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegress="0" android:toDegress="950" android:pivotX="100%" android:pivotY="100%" android:duration="3000" android:fillAfter="true" />
TOP2 DecelerateInterpolator
DecelerateInterpolator是减速插值器,表示动画开始瞬间加速到最大值,然后逐渐变慢
修改上面的插值器替换成decelerateInterpolator
TOP3 LinearInterpolator
LinearInterpolator是线性插值器,也称匀速加速器,他的速率是保持恒定的
修改上面的插值器替换成LinearInterpolator
TOP4 BounceInterpolator
BounceInterpolator 是弹性插值器,模拟控件自由落地后回弹的效果
修改上面的插值器替换成BounceInterpolator
TOP5 AnticipateInterpolator
AnticipateInterpolator是初始偏移插值器,是开始动画的时候向前偏移一段距离,然后应用动画
修改上面的插值器替换成AnticipateInterpolator
TOP6 OvershootInterpolator
OvershootInterpolator是结束偏移插值器,表示动画结束时,沿动画方向继续运动一段距离后再结束动画
TOP7 AnticipateOvershootInterpolator
AnticipateOvershootInterpolator 是AnticipateOvershootInterpolator是OvershootInterpolator的合体,即在动画开始时向前偏移一段距离,在动画结束时向后偏移一段距离
TOP8 CycleInterpolator
CycleInterpolator是循环插值器,表示动画循环播放特定的次数,速率沿正弦曲线改变 构造函数需要填写float的参数表示循环的次数