0

尚不支持 Compose 中的动画项目: LazyColumnhttps : //developer.android.com/jetpack/compose/lists#item-animationsLazyRow

关注问题跟踪器: https ://issuetracker.google.com/issues/150812265

但是,我在一个潜在的解决方法上创建了一个小型 POC,直到它得到官方支持(检查答案),它远未准备好生产并且肯定包含错误,但只是想分享我的小型游乐场项目

4

1 回答 1

1

编辑:问题跟踪器现在有一个使用修饰符的解决方案更新

刚刚制作了一个小的 POC 解决方法,用于动画项目LazyColumnLazyRow直到添加适当的支持:

https://github.com/RoudyK/AnimatedLazyColumn

DEF 尚未准备好生产并乐于获得任何反馈

编辑:

示例用法:

data class MainItem(
    val id: String,
    val text: String
)

val items = List(10) { MainItem(UUID.randomUUID().toString(), UUID.randomUUID().toString()) }
val state = rememberLazyListState()

AnimatedLazyColumn(
   state = state,
   items = items.map {
       AnimatedLazyListItem(key = it.id, value = it.text) {
           TextItem(viewModel, it)
       }
   }
)

AnimatedLazyRow(
   state = state,
   items = items.map {
       AnimatedLazyListItem(key = it.id, value = it.text) {
           TextItem(viewModel, it)
       }
   }
)
于 2021-10-02T06:55:44.273 回答