在Java中为android动画设置插值器

ACa*_*ter 37 java android android-animation

这看起来很简单:我正在尝试将插值器设置为在我的应用程序中用于动画.我需要在Java代码中设置它,而不是XML(它会根据各种事情而改变).

从android网站上,我发现了 setInterpolator()

但是,我不知道如何使用它.

我试过加入极谱名称(即.BounceIterpolator),但这没有做任何事情.

我试过了R.anim.BounceIterpolator,但Intellisense说anim cannot be resolved or is not a field.

那么如何从Java设置插补器呢?

Reu*_*ton 82

setInterpolator(new BounceInterpolator());
Run Code Online (Sandbox Code Playgroud)


Zso*_*any 15

anim.setInterpolator(context, android.R.anim.bounce_interpolator);
Run Code Online (Sandbox Code Playgroud)


ama*_*Bit 9

更新:

Android现在支持动画中的真实弹簧和物理.它是向后兼容的lib的一部分.链接

对于自定义插补器:

  1. 使用这个很棒的网站创建一个自定义的三次贝塞尔曲线.并获得曲线的控制点.
  2. Interpolator customInterpolator = PathInterpolatorCompat.create(cpX1,cpX2,cpY1,cpY2)
  3. 将此customInterpolator添加到任何动画中.

添加了一个要点.有些更在这里.