0

LazyColumnCompose 内およびCompose内のアイテムのアニメーション化LazyRowはまだサポートされていません: https://developer.android.com/jetpack/compose/lists#item-animations

イシュートラッカーに従ってください: https://issuetracker.google.com/issues/150812265

ただし、公式にサポートされるまで、潜在的な回避策について小さな POC を作成しました (回答を確認してください)。本番環境の準備ができておらず、間違いなくバグが含まれていますが、私の小さな遊び場プロジェクトを共有することを考えました

4

1 に答える 1

1

編集:課題トラッカーには、修飾子を使用したソリューションが更新されました

適切なサポートが追加されるまでの項目LazyColumnのアニメーション化に関する回避策の小さな POC を作成しました。LazyRow

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 に答える