@OptIn(ExperimentalFoundationApi::class)
@Composable
fun AnimatedItemReordering() {
val items = remember { (1..100).map { "Item $it" }.toMutableStateList() }
LazyColumn {
item{
Text("List重排序")
}
itemsIndexed(items, key = { _, item -> item }) { index, item ->
Row(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp)
.animateItemPlacement()
) {
Text(text = item)
Spacer(modifier = Modifier.weight(1f))
Button(onClick = {
if (index > 0) {
items.removeAt(index)
items.add(index - 1, item)
}
}) {
Text("Up")
}
Button(onClick = {
if (index < items.size - 1) {
items.removeAt(index)
items.add(index + 1, item)
}
}) {
Text("Down")
}
}
}
}
}
Composable动画系列08:LazyColumn 重排序动画
最新推荐文章于 2024-10-08 18:44:37 发布