如何在 Jetpack Compose 中为 LazyColumn 设置默认滚动位置而没有任何反馈或动画
Posted
技术标签:
【中文标题】如何在 Jetpack Compose 中为 LazyColumn 设置默认滚动位置而没有任何反馈或动画【英文标题】:How to set default scroll position for LazyColumn without any feedback or animation in Jetpack Compose 【发布时间】:2021-11-09 04:34:18 【问题描述】:我希望我的 LazyColumn 从中间显示列表中的项目,以便我可以向上或向下滚动。我使用了 rememberLazyListState,但它有一些延迟,我不希望在 UI 中发生滚动操作。
【问题讨论】:
【参考方案1】:val scrollState = rememberLazyListState(initialFirstVisibleItemIndex = 50)
val scrollState = rememberLazyListState(initialFirstVisibleItemScrollOffset = 3700)
如果列表中有100
项目,您可以使用任何参数从默认位置开始,您可以设置initialFirstVisibleItemIndex = 50
,因此它从中间开始,您也可以设置offset
,但只需使用任何一个其中。
它对我有用,没有任何延迟
【讨论】:
它适用于第一个列表,但是当我更新列表时,它不再起作用了。 好的,更新列表是什么意思?每次添加或删除项目时是否要对齐到中间? @Mehranjp73 这就是参数名称也说它是initial
但是为什么您希望列表始终位于中间,您可以做的是在每次更新列表时调用scrollToItem
方法。
它使用 scrollToItem 滚动,但它显示了列表的移动。以上是关于如何在 Jetpack Compose 中为 LazyColumn 设置默认滚动位置而没有任何反馈或动画的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Jetpack Compose 中为 LazyColumn 设置默认滚动位置而没有任何反馈或动画
将 Jetpack Compose 升级到 1.0.0-beta07 后出现 java.lang.NoSuchMethodError
Jetpack Compose ScrollableTabRow 如何调整最小宽度