有没有办法从 Lazyrow 获取滚动状态

Is there a way to get scrollstate from Lazyrow

我制作了一个 LazyRow,我现在希望能够从中获取滚动位置。我所了解的 Scrollablerow 已被弃用。 (如果我错了,请纠正我)问题是我不能制作一个可滚动的行,所以我想让我们做一个懒惰的。但我不知道如何从 lazyrow 获得滚动位置。如果伊文存在,我知道如何获取索引但不知道位置。这是我试过的。

val scrollState = rememberScrollState()
LazyRow(scrollState = scrollstate){

}

对于Lazy卷轴器,有单独的Lazy状态。

事实上,我认为只有一个,即 rememberLazyListState()

将其作为滚动状态传递给行,然后您就可以访问各种信息。例如,您可以获得第一个可见项的索引及其偏移量。上述初始化返回的对象中有这些东西的直接属性。您还可以使用您获得的 lazyListState.layoutInfo 属性 执行一些更复杂的操作。

此外,ScrollableRow 可能会被弃用为 @Composable,但它只是重构了一点。现在,您可以使用 horozontalScroll()verticalScroll() 修饰符,它们都接受一个 scrollState 参数,该参数需要与您在问题中创建的对象相同的对象。

通常,您会使用 LazyScrollers,因为它们不难实现而且 super-performant,但一般的想法是它们用于大型数据集,而 non-lazy 滚动条适用于小型列表和内容。这是因为懒惰的人只缓存整个列表的一小部分,使您的 UI 表现出色,这不是常规滚动条所做的事情,对于小数据集也不是问题。

它们类似于 View 系统

中的 RecyclerView