@OptIn(ExperimentalFoundationApi::class)
@Composable
fun AnimatedItemRemoval() {
val items = remember { (1..100).map { "Item $it" }.toMutableStateList() }
Column {
Button(onClick = { items.removeAt(0) }) {
Text("remove first")
}
LazyColumn {
items(items,key = { it }) { item ->
Text(
text = item,
modifier = Modifier
.fillMaxWidth()
.padding(16.dp)
.animateItemPlacement()
)
}
}
}
}
下面的Item会依次往上平滑移动.
注意必须要设置key.