gpt4 book ai didi

KTX 安卓动画

转载 作者:搜寻专家 更新时间:2023-11-01 08:17:37 25 4
gpt4 key购买 nike

我的 Android 应用程序中有一些动画,我想更改我的代码以利用 Android KTX。可悲的是,我真的不明白the documentation about it .谁能告诉我如何借助 Android KTX 改进这段代码?

view
.animate()
.translationY(view.height.toFloat())
.setDuration(3000)
.setInterpolator(AccelerateInterpolator())
.setListener(object : Animator.AnimatorListener {

override fun onAnimationStart(animation: Animator?) {}

override fun onAnimationRepeat(animation: Animator?) {}

override fun onAnimationCancel(animation: Animator?) {}

override fun onAnimationEnd(animation: Animator?) {
// Do whatever I want
}
})

当然,我已经在我的 Gradle 文件中添加了依赖:

implementation 'androidx.core:core-ktx:1.0.2'

非常感谢您:)

最佳答案

Android KTX 具有 doOnEnd {/** Do whatever you want **/}android.animation.Animator 的其他扩展功能。当您调用 view.animate() 时,它会返回 ViewPropertyAnimator,它不是继承自 android。 animation.Animator 类。因此,您不能 view.animate().doOnEnd {/** Do whatever you want **/} 由 Android KTX 提供。

但是,您可以使用 withEndAction在动画结束时做任何事情。 withEndAction 是默认 ViewPropertyAnimator 的一部分,因此,您无需安装 Android KTX 即可使用它:

view
.animate()
.translationY(image.height.toFloat())
.setDuration(3000)
.setInterpolator(AccelerateInterpolator())
.withEndAction {
// Do whatever you want
}

关于KTX 安卓动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57786346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com