[英]Jetpack Compose: LazyColumn does not render some items if animated scroll is interrupted and a new one is started
我目前正在试用 Android Jetpack Compose 并希望使用LazyColumn
实现类似RecyclerView
的列表。 但是,当在用户滚动期间或在另一个程序滚动(动画)期间以编程方式滚动(动画)到某个项目时,列表中的某些项目不会呈现。 这是 Compose 的问题还是我没有正确实现滚动?
作为一个简单的例子,可以使用下面的代码:
class MainActivity : ComponentActivity() {
@ExperimentalTime
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val listState = rememberLazyListState()
rememberCoroutineScope().launch {
delay(10.seconds)
listState.animateScrollToItem(1000)
delay(100.milliseconds)
listState.animateScrollToItem(0)
}
LazyColumn(
state = listState,
contentPadding = PaddingValues(1.dp),
) {
items(1000) {
Text(
text = "$it",
modifier = Modifier
.padding(2.dp)
.clip(MaterialTheme.shapes.small)
.background(MaterialTheme.colors.onSurface)
.padding(8.dp)
.fillMaxWidth(),
color = MaterialTheme.colors.surface,
textAlign = TextAlign.Center,
)
}
}
}
}
}
我还录制了该应用程序的示例视频: https://i.imgur.com/dKFn1VH.mp4 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.