这似乎很简单:我正在尝试将插装器设置为用于我的应用程序中的动画。我需要在Java代码,而不是XML中设置此此设置(它将根据各种情况进行更改)。

从Android网站上,我发现 setInterpolator()

但是,我不确定如何使用它。

我尝试仅以极性名称(即。 BounceIterpolator),但这一无所有。

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

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

有帮助吗?

解决方案

setInterpolator(new BounceInterpolator());

其他提示

anim.setInterpolator(context, android.R.anim.bounce_interpolator);

更新:

Android现在支持动画中的真实春季和物理。它的一部分是向后兼容的自由。 关联

适用于自定义插造器:

  1. 使用此创建自定义的立方体曲线 很棒的网站. 。并获取曲线的控制点。
  2. Interpolator customInterpolator = PathInterpolatorCompat.create(cpX1,cpX2,cpY1,cpY2)
  3. 将此自定义插入器添加到您的任何动画中。

添加了 要旨。一些 这里还有更多.

谢谢 amalbit 我写了一个用 PathInterpolator 为一个 ProgressBar 在科特林。

val path = Path()
path.lineTo(0.1f, 0.2f)
path.lineTo(0.7f, 0.9f)
path.lineTo(1f, 1f)
val animation = ObjectAnimator.ofInt(progress_bar, "progress", 0, 100)
animation.duration = 2000
animation.interpolator = PathInterpolatorCompat.create(path)
animation.addListener(object : Animator.AnimatorListener {
    override fun onAnimationStart(animator: Animator) {}

    override fun onAnimationEnd(animator: Animator) {
        finish()
    }

    override fun onAnimationCancel(animator: Animator) {}

    override fun onAnimationRepeat(animator: Animator) {}
})
animation.start()

https://www.programcreek.com/java-api-examples/index.php?api= android.view.animation.animation.pathinterpolator.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top