如何在Android中使用Lottie json动画和Jetpack Compose UI的组合?我已经尝试过AndroidView(resId = R.layout.animation),com.airbnb.lottie.LottieAnimationView在哪里有字段lottie_rawRes,但这是最好的方法吗?
发布于 2020-10-25 20:43:53
在compose版本的alpha05中,Lottie似乎运行得很好:
@Composable
fun CustomView(modifier: Modifier = Modifier
.fillMaxWidth()) {
val visibility = remember { mutableStateOf(0) }
val context = ContextAmbient.current
val customView = remember { LottieAnimationView(context) }
// Adds view to Compose
AndroidView({ customView }) { view ->
// View's been inflated - add logic here if necessary
with(view) {
setAnimation(R.raw.choose)
playAnimation()
repeatMode = LottieDrawable.INFINITE
foregroundGravity = Gravity.CENTER
}
}
}发布于 2020-08-24 11:09:18
对Lottie的一流支持还没有实现,但最终会实现的。
发布于 2020-09-10 12:00:13
我真的不确定这是否是最好的方式,但这是目前推荐的在@Composable函数中包含Android View的方式。
@Composable
fun <T : View> AndroidView(
viewBlock: (Context) -> T,
modifier: Modifier = Modifier,
update: (T) -> Unit = NoOpUpdate
)https://stackoverflow.com/questions/62881759
复制相似问题