LazyLayoutScrollScope
interface LazyLayoutScrollScope : ScrollScope
A ScrollScope
to allow customization of scroll sessions in LazyLayouts. This scope contains
additional information to perform a custom scroll session in a scrollable LazyLayout.
For implementations for the most common layouts see:
Properties
val firstVisibleItemIndex: Int
The index of the first visible item in the lazy layout.
val firstVisibleItemScrollOffset: Int
The offset of the first visible item.
val lastVisibleItemIndex: Int
The last visible item in the LazyLayout, lastVisibleItemIndex - firstVisibleItemOffset + 1 is the number of visible items.
val itemCount: Int
The total item count.
Functions
fun snapToItem(index: Int, offset: Int = 0)
Immediately scroll to index
and settle in offset
.
Parameters
index | The position index where we should immediately snap to. |
offset | The offset where we should immediately snap to. |
fun calculateDistanceTo(targetIndex: Int, targetOffset: Int = 0): Int
The "expected" distance to targetIndex
. This means the "expected" offset of targetIndex
in the layout. In a LazyLayout, non-visible items don't have an actual offset, so this method
should return an approximation of the scroll offset to targetIndex
. If targetIndex
is
visible, then an "exact" offset should be provided.
Parameters
targetIndex | The index position with respect to which this calculation should be done. |
targetOffset | The offset with respect to which this calculation should be done. |
Returns
The expected distance to scroll so targetIndex is the firstVisibleItemIndex with targetOffset as the firstVisibleItemScrollOffset. |