OhW*_*One 4 android android-jetpack-compose
我用来AnimatedContent在两个不同的视图之间设置动画,但即使我指定要使用垂直过渡,它仍然在视图之间切换,但不应用实际的过渡动画。这是代码:
val isEditState = remember { mutableStateOf(false) }
AnimatedContent(
targetState = isEditState,
transitionSpec = {
(slideInVertically() with slideOutVertically()).using(SizeTransform(clip = false))
}
) { targetState ->
if (targetState.value) {
EditView(...)
} else {
NonEditView(...)
}
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题以使动画正常工作?
如果我使用AnimatedVisibility它确实有效,但我必须将它专门应用于每个视图。
AnimatedVisibility(
visible = isEditState.value,
enter = slideInVertically(),
exit = slideOutVertically(),
content = EditView(...)
)
Run Code Online (Sandbox Code Playgroud)
尝试使用isEditable.value作为目标状态:
AnimatedContent(
targetState = isEditState.value,
transitionSpec = {
(slideInVertically() with slideOutVertically()).using(SizeTransform(clip = false))
}
) { targetState ->
if (targetState) {
EditView(...)
} else {
NonEditView(...)
}
}
Run Code Online (Sandbox Code Playgroud)
变量isEditable(即状态)不会改变,这就是它没有动画的原因。改变的是它的价值。
| 归档时间: |
|
| 查看次数: |
2609 次 |
| 最近记录: |