Provides all the needed info about the items which could be later composed and displayed as children or [LazyLayout].
LazyLayoutItemProviderSample
@Composable
fun LazyLayoutItemProviderSample() {
class CustomItemProvider(val data: List<String>) : LazyLayoutItemProvider {
override val itemCount: Int
get() = data.size
@Composable
override fun Item(index: Int, key: Any) {
Box(
modifier =
Modifier.width(100.dp)
.height(100.dp)
.background(color = if (index % 2 == 0) Color.Red else Color.Green)
) {
Text(text = data[index])
}
}
}
val items = (0..100).toList().map { it.toString() }
val itemProvider = remember(items) { CustomItemProvider(items) }
}