在Java中设置Android动画的插值器
-
26-10-2019 - |
题
这似乎很简单:我正在尝试将插装器设置为用于我的应用程序中的动画。我需要在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);
谢谢 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()
不隶属于 StackOverflow