LazyStaggeredGridScope
Interface
Common
@LazyStaggeredGridScopeMarker
sealed interface LazyStaggeredGridScope
Receiver scope for LazyVerticalStaggeredGrid
and LazyHorizontalStaggeredGrid
Functions
fun item(
key: Any? = null,
contentType: Any? = null,
span: StaggeredGridItemSpan? = null,
content: @Composable LazyStaggeredGridItemScope.() -> Unit,
)
Add a single item to the staggered grid.
When you specify the key the scroll position will be maintained based on the key, which means if you add/remove items before the current visible item the item with the given key will be kept as the first visible one.
Parameters
key | a stable and unique key representing the item. The key MUST be saveable via Bundle on Android. If set to null (by default), the position of the item will be used as a key instead. Using the same key for multiple items in the staggered grid is not allowed. This can be overridden by calling LazyStaggeredGridState.requestScrollToItem . |
contentType | a content type representing the item. Content for item of the same type can be reused more efficiently. null is a valid type as well and items of such type will be considered compatible. |
span | a custom span for this item. Spans configure how many lanes defined by StaggeredGridCells the item will occupy. By default each item will take one lane. |
content | composable content displayed by current item |
fun items(
count: Int,
key: ((index: Int) -> Any)? = null,
contentType: (index: Int) -> Any? = { null },
span: ((index: Int) -> StaggeredGridItemSpan)? = null,
itemContent: @Composable LazyStaggeredGridItemScope.(index: Int) -> Unit,
)
Add a count
of items to the staggered grid.
When you specify the key the scroll position will be maintained based on the key, which means if you add/remove items before the current visible item the item with the given key will be kept as the first visible one.
Parameters
count | number of items to add. |
key | a factory of stable and unique keys representing the item. The key MUST be saveable via Bundle on Android. If set to null (by default), the position of the item will be used as a key instead. Using the same key for multiple items in the staggered grid is not allowed. This can be overridden by calling LazyStaggeredGridState.requestScrollToItem . |
contentType | a factory of content types representing the item. Content for item of the same type can be reused more efficiently. null is a valid type as well and items of such type will be considered compatible. |
span | a factory of custom spans for this item. Spans configure how many lanes defined by StaggeredGridCells the item will occupy. By default each item will take one lane. |
itemContent | composable content displayed by item on provided position |