android - 如何在 Jetpack Compose Android 上的 LazyColumn 中显示动画项目 View

标签 android android-jetpack-compose

我在惰性列 View 中有一个项目列表。
当我们从列表中删除一项时,我们如何显示动画。
我需要为被删除的 View 设置动画。删除操作是通过按下 View 内的删除图标来完成的。

我试过 AnimationVisibility并且它没有按预期工作。

最佳答案

Compose 1.1.0 更新:
现在可以动画项目位置更改,但删除/插入动画仍然不可能,需要通过我解释过的方法来实现。
要动画项目位置更改,您只需通过 key = { it.id } 提供列表中的项目键并使用 Modifier.animateItemPlacement() .
原答案
它尚未得到官方支持,但他们正在努力。您可能可以实现它,但以一种 hacky 方式。
当您的列表更新时,您的可组合项会重新创建,并且它还不支持项目的动画,因此您必须在项目上添加一个 bool 变量并在“删除”时更改值,而不是从列表中删除它。显示更新后的列表后,您可以对要删除的项目进行动画处理,然后在动画结束后更新没有它的列表。
我没有亲自测试过这种方法,所以它可能无法按预期工作,但这是我能想到的唯一方法,因为惰性列表不支持更新动画。

关于android - 如何在 Jetpack Compose Android 上的 LazyColumn 中显示动画项目 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67451615/

相关文章:

android - 为什么我的bottomSheet 来自jetpack compose 中的屏幕顶部

android - Jetpack Compose 在外部单击时折叠 Bottom Sheet

android - 应用程序启动器图标从屏幕上消失

java - 从后台服务启动 Android Activity

android - 在 android 上,我将如何创建一个扩展 Location Listener 的类,以便我的主要 Activity 和 Intent Service 可以使用同一个对象?

android - 如何在 Jetpack compose 中处理 Espresso 空闲资源......?

Android Compose - 平板电脑上的应用程序在使用 LazyColumn 时崩溃

android - Monkeyrunner,如何使 device.press 多次?

java - 如何修复 : java. lang.ClassCastException : java. util.ArrayList 无法转换为 double[]

android - java.lang.IllegalArgumentException : Navigation destination that matches request NavDeepLinkRequest 异常