// 我们用这个状态保存滚动位置
val scrollState = rememberScrollState()
Column(Modifier.verticalScroll(scrollState)) {
。。。
}
//滚动列表控件
LazyColumn {
items(100) { //注意这里不是repeat,
Text("Item #$it", style = MaterialTheme.typography.subtitle1)
}
}
val listSize = 100
// 保存滚动状态
val scrollState = rememberLazyListState()
// 保存将执行动画滚动的协程范围
val coroutineScope = rememberCoroutineScope()
Column {
Row {
Button(onClick = {
//回到顶部
coroutineScope.launch {
scrollState.animateScrollToItem(0)
}
}) {
Text("Scroll to the top")
}
Button(onClick = {
//回到底部
coroutineScope.launch {
scrollState.animateScrollToItem(listSize - 1)
}
}) {
Text("Scroll to the end")
}
}
LazyColumn(state = scrollState) {
items(listSize) {
ImageListItem(it)
}
}
}