gpt4 book ai didi

android - 如何在 Android Jetpack Compose 中为 Lottie 动画使用动画监听器?

转载 作者:行者123 更新时间:2023-12-04 23:44:04 24 4
gpt4 key购买 nike

在 Android View 系统中,我们可以使用如下动画监听器来获取抽奖动画回调。

 playView = LottieAnimationView(this)
playView.addAnimatorListener(object : Animator.AnimatorListener {
override fun onAnimationStart(animation: Animator?) {
}

override fun onAnimationEnd(animation: Animator?) {

}

override fun onAnimationCancel(animation: Animator?) {
}

override fun onAnimationRepeat(animation: Animator?) {
}
})
我们如何使用 Jetpack Compose 添加监听器?我目前添加了下面的代码来播放乐蒂动画。我想在动画播放完成后接收回调。
@Composable
fun PlayView() {
val animationSpec = remember { LottieAnimationSpec.RawRes(R.raw.play_anim) }
val result: LottieCompositionResult by remember { mutableStateOf(LottieCompositionResult.Loading) }
val context = LocalContext.current
LottieAnimation(
animationSpec,
modifier = Modifier
.fillMaxHeight()
.fillMaxWidth()
)

if (result is LottieCompositionResult.Success) {
//start the next flow
}
}

最佳答案

更新了版本 1.0.0-rc01-1 的答案洛蒂。
你可以做的是:

val composition by rememberLottieComposition(
LottieCompositionSpec.RawRes(R.raw.your_lottie_file)
)
val progress by animateLottieCompositionAsState(composition)

LottieAnimation(
composition,
modifier = Modifier
.size(200.dp)
.background(Color.Black),
)

if (progress == 1.0f) {
// Animation completes.
}

关于android - 如何在 Android Jetpack Compose 中为 Lottie 动画使用动画监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68136618/

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