插值器通过 对动画执行的每个时间点进行 提前/延迟 来达到对动画效果的 加速/减速,通过设置不同的 曲线 来得出负时间/大于1的时间值,使控件按设定的动画轨迹 反方向/正方向 超出改变一点轨迹。
这里只介绍 官方提供的9中插值器,即已有的Interpolator的9个子类。当使用插值器的时候只要创建这几个类的对象,然后调用anim.setInterpolator方法就已经把该插值器添加到动画里了。
9个子类: AccelerateDecelerateInterpolator 加速减速插值器-开始与结束时速度慢,中间速度快
AccelerateInterpolator 加速插值器-开始速度慢,然后一直变快
DecelerateInterpolator 减速插值器-开始速度快,然后一直变慢
AnticipateInterpolator 向前插值器-先向反方向运动一定距离,然后正方向运动到终点
AnticipateOvershootInterpolator 向前向后插值器-先反方向运动一定距离,然后正方向运动到超出一定距离,然后返回终点
OvershootInterpolator 向后插值器-到轨迹终点之后再正方向运动一定距离,然后返回终点
BounceInterpolator 反弹插值器-类似于一物体从高度掉到地上,会弹起来几下
CycleInterpolator 循环插值器-类型于正弦曲线那样来回运动