插值器时动画中一个非常重要的概念,通过插值器(Interpolators),可以定义动画变换速率,这一点非常类似物理中的加速度,其作用主要是控制目标变量的变化值进行对应的变化。同样的一个动画变换起始值,在不同的插值器作用下,每个单位时间内所达到的变化值也是不一样的。例如一个位移动画,如果使用线性插值器,那么在持续时间内,单位事件所移动的距离都是一样的;如果使用加速度插值器,那么单位时间内所移动的距离将越来越快。大家可以把插值器的概念理解为一个人进行万米长跑,规定一个小时到达,有的人怕事件来不及,则一开始就加速跑,但是到后面体力越来越跟不上,就越跑越慢。而由的人开始节省体力,所以开始跑的比较慢,后面越跑越快,直到终点。不管怎么跑,最终它们都在规定的事件达到了终点,唯一不同的是它们跑的速度不同,通过这个例子,在结合下图,大家应该可以很好的理解插值器的具体概念。

  • AccelerateDecelerateInterpolator开始与结束的地方速率改变比较慢,在中间的时候加速

Interpolators(插值器)

  • AccelerateInterpolator开始的地方速率改变比较慢,然后开始加速

Interpolators(插值器)

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

Interpolators(插值器)

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

Interpolators(插值器)

  • BounceInterpolator动画结束的时候弹起

Interpolators(插值器)

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

Interpolators(插值器)


  • DecelerateInterpolator在开始的地方快然后慢

Interpolators(插值器)

  • 创建的时候,可以传factor值,如DecelerateInterpolator(2f):

Interpolators(插值器)

  • LinearInterpolator以常量速率改变

Interpolators(插值器)

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

Interpolators(插值器)

  • 创建的时候,可以传tension值,OvershootInterpolator(0.8f)。

Interpolators(插值器)


        使用详情请了解相关博客Android 动画:你真的会使用插值器与估值器吗?

相关文章:

  • 2021-09-15
  • 2021-11-03
  • 2022-12-23
  • 2021-09-08
  • 2021-05-10
  • 2021-12-19
  • 2021-12-29
猜你喜欢
  • 2021-11-27
  • 2021-06-15
  • 2021-11-30
  • 2021-11-13
  • 2022-12-23
  • 2021-10-21
  • 2022-12-23
相关资源
相似解决方案