如何使用 Jetpack Compose 中的 AnimatedVisibility 选择动画发生的位置?
How do I choose the place the animation happens from using AnimatedVisibility in Jetpack Compose?
我想使用 AnimatedVisibility 显示卡片:
AnimatedVisibility(
visible = isVisible.value,
enter = expandIn(expandFrom = Alignment.TopEnd),
exit = shrinkOut(shrinkTowards = Alignment.TopEnd)
) {
Card(...) { ... }
}
(卡片也被限制在另一个视图的顶端角,但我认为这不重要,因为那个视图是静态的。)
它没有像我预期的那样工作。它仍然从左上角开始动画。我做错了什么?
expandIn
动画不控制动画开始的位置。 expandFrom
参数控制 Cart
的哪一部分首先出现。
要控制动画的起点,可以使用slideIn
。您也可以将它们与 +
结合起来。您可以在 documentation 中阅读有关动画的更多信息,那里有所有可用动画的很好示例。
slideIn(initialOffset = { IntRect(offset = IntOffset.Zero, size = it).topRight} )
我想使用 AnimatedVisibility 显示卡片:
AnimatedVisibility(
visible = isVisible.value,
enter = expandIn(expandFrom = Alignment.TopEnd),
exit = shrinkOut(shrinkTowards = Alignment.TopEnd)
) {
Card(...) { ... }
}
(卡片也被限制在另一个视图的顶端角,但我认为这不重要,因为那个视图是静态的。)
它没有像我预期的那样工作。它仍然从左上角开始动画。我做错了什么?
expandIn
动画不控制动画开始的位置。 expandFrom
参数控制 Cart
的哪一部分首先出现。
要控制动画的起点,可以使用slideIn
。您也可以将它们与 +
结合起来。您可以在 documentation 中阅读有关动画的更多信息,那里有所有可用动画的很好示例。
slideIn(initialOffset = { IntRect(offset = IntOffset.Zero, size = it).topRight} )