在Java中为android动画设置插值器
这看起来很简单:我正在尝试在我的应用程序中设置用于动画的插值器。我需要在Java代码中设置,而不是在XML中设置(它会根据各种情况而变化) 在android网站上,我找到了在Java中为android动画设置插值器,java,android,android-animation,Java,Android,Android Animation,这看起来很简单:我正在尝试在我的应用程序中设置用于动画的插值器。我需要在Java代码中设置,而不是在XML中设置(它会根据各种情况而变化) 在android网站上,我找到了setInterpolator() 然而,我不知道如何使用这个 我试着只输入interpolar名称(即,BounceInterpolator),但没有任何效果 我尝试了R.anim.BounceIterpolator,但Intellisense说anim无法解析或不是字段 那么如何从Java设置插值器呢?更新: setInt
setInterpolator()
然而,我不知道如何使用这个
我试着只输入interpolar名称(即,BounceInterpolator
),但没有任何效果
我尝试了R.anim.BounceIterpolator
,但Intellisense说anim无法解析或不是字段
那么如何从Java设置插值器呢?更新:
setInterpolator(new BounceInterpolator());
Android现在支持动画中的真实spring和物理。它是向后兼容库的一部分
对于自定义插值器:
使用此选项创建自定义三次贝塞尔曲线。并获得曲线的控制点
Interpolator customInterpolator=PathInterpolatorCompat.create(cpX1、cpX2、cpY1、cpY2)
将此自定义插值器添加到任何动画中
增加了一个。
一些。多亏了我在Kotlin中为ProgressBar
编写了一个带有PathInterpolator
的插值器
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()
有关更多示例,请参见。Wow。我在整个互联网上搜索这个答案。非常感谢。
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()