实际上,合成是从中心动画,但它的内容,这是一个按钮,是从左上角移动到中心,而动画合成。
我想让按钮从中心开始动画。我试着给按钮和盒子添加.animateContentSize,但按钮仍然从左上角到中心动画。
下面是代码:
@Composable
fun TopScreen(
isScaffold: MutableState<Boolean>,
){
AnimatedVisibility(
visible = !isScaffold.value,
modifier = Modifier
.fillMaxSize()
.animateContentSize(
animationSpec = tween(durationMillis = 500, easing = LinearEasing)
)
){
Box(
modifier = Modifier
.fillMaxSize()
.background(Color.LightGray),
contentAlignment = Alignment.Center
){
Button(
onClick = {
isScaffold.value = true
},
modifier = Modifier
) {
Text(text = "GO TO BOTTOM SCREEN")
}
}
}
}
字符串
1条答案
按热度按时间yyyllmsg1#
你不需要
Modiifer.animateContentSize()
和AnimatedVisibility
组合,它有scaleIn
和scaleOut
转换。所有你可以使用的转换都可以在官方文档中找到。https://developer.android.com/jetpack/compose/animation/composables-modifiers#enter-exit-transition
你也可以使用状态提升来代替传递和修改
State
。字符串