Lazy List State
一个可以被提升(hoisted)的状态对象,用于控制和观察惰性列表(LazyList)的滚动。
在大多数情况下,这个对象是通过 com.m8test.script.core.api.ui.compose.slot.Slot.newLazyListState 创建的。
Author
M8Test, [email protected], https://m8test.com
Functions
Link copied to clipboard
以动画方式(平滑滚动)滚动到指定索引的项目。
Link copied to clipboard
分发原始滚动增量(以像素为单位),绕过所有与滚动相关的机制。
Link copied to clipboard
获取第一个可见项目的索引,作为一个可观察的只读状态。
Link copied to clipboard
获取第一个可见项目的滚动偏移量,作为一个可观察的只读状态。
Link copied to clipboard
获取上一次布局传递中计算出的 com.m8test.script.core.api.ui.compose.foundation.lazy.LazyListLayoutInfo 对象,作为一个可观察的只读状态。 您可以使用它来获取当前可见项目、视口大小等信息。
Link copied to clipboard
Link copied to clipboard
获取一个只读状态,该状态表示此 ScrollableState 当前是否正在通过手势、惯性滑动或程序化方式滚动。
Link copied to clipboard
abstract fun scroll(scope: CoroutineScope, priority: (MutatePriorities) -> MutatePriority, scrollScopeBuilder: ScrollScope.() -> Unit): Job
调用此函数来控制滚动,并通过 ScrollScope 发送滚动事件。 所有改变逻辑滚动位置的操作都必须在 scroll 代码块内执行,以保证互斥性。
Link copied to clipboard
立即将指定索引的项目滚动到视口的顶部,并带上指定的滚动偏移量。
Link copied to clipboard
设置第一个可见项目的初始索引。 这个值通常在 LazyList 首次组合(Composition)之前进行设置。
Link copied to clipboard
设置第一个可见项目的初始滚动偏移量。 这个值通常在 LazyList 首次组合(Composition)之前进行设置。