LazyListSnapperLayoutInfo

class LazyListSnapperLayoutInfo(lazyListState: LazyListState, snapOffsetForItem: (layoutInfo: SnapperLayoutInfo, item: SnapperLayoutItemInfo) -> Int, endContentPadding: Int = 0) : SnapperLayoutInfo(source)

A SnapperLayoutInfo which works with LazyListState. Typically this would be remembered using rememberLazyListSnapperLayoutInfo.

Parameters

lazyListState

The LazyListState to update.

snapOffsetForItem

Block which returns which offset the given item should 'snap' to. See SnapOffsets for provided values.

endContentPadding

The amount of content padding on the end edge of the lazy list in pixels (end/bottom depending on the scrolling direction).

Constructors

Link copied to clipboard
constructor(lazyListState: LazyListState, snapOffsetForItem: (layoutInfo: SnapperLayoutInfo, item: SnapperLayoutItemInfo) -> Int, endContentPadding: Int = 0)

Functions

Link copied to clipboard
open override fun canScrollTowardsEnd(): Boolean

Returns true if the layout has some scroll range remaining to scroll towards the end.

Link copied to clipboard
open override fun canScrollTowardsStart(): Boolean

Returns true if the layout has some scroll range remaining to scroll towards the start.

Link copied to clipboard
open override fun determineTargetIndex(velocity: Float, decayAnimationSpec: DecayAnimationSpec<Float>, maximumFlingDistance: Float): Int

Calculate the desired target which should be scrolled to for the given velocity.

Link copied to clipboard
open override fun distanceToIndexSnap(index: Int): Int

Calculate the distance in pixels needed to scroll to the given index. The value returned signifies which direction to scroll in:

Properties

Link copied to clipboard

The current item which covers the desired snap point, or null if there is no item. The item returned may not yet currently be snapped into the final position.

Link copied to clipboard
open override val endScrollOffset: Int

The end offset of where items can be scrolled to. This value should only include scrollable regions. For example this should not include fixed content padding. For most layouts, this will the width of the container, minus content padding.

Link copied to clipboard
open override val startScrollOffset: Int = 0

The start offset of where items can be scrolled to. This value should only include scrollable regions. For example this should not include fixed content padding. For most layouts, this will be 0.

Link copied to clipboard
open override val totalItemsCount: Int

The total count of items attached to the layout.

Link copied to clipboard

A sequence containing the currently visible items in the layout.