LazyLayouts
JlozorikЕсть три основных вида lazy layouts, но начну с двух:
LazyColumn() {} & LazyRow(){}
Example:
LazyColumn(modifier = Modifier) {
items(list) {item ->
Item(item)
Чтобы иметь доступ к индексу нужно использовать itemsIndexed()
LazyColumn(modifier = Modifier) {
itemsIndexed(list) {index, item ->
Item(item, index)
Чтобы не перекрывался контент, в modifier лучше использовать PaddingValues()
modifier = Modifier. , contentPadding = PaddingValues(start = 24.dp, end = 24.dp)
Для адекватного разделения элементов:
LazyRow(modifier = Modifier, horArr = Arr.spacedBy(8.dp) { }
Чтобы отслеживать прокрутку списка:
Например для показа кнопки назад, если прокручено больше 5 эл:
val state = rememberLazyListState()
val isHide by remember { // загугли про derivedStateOf
derivedStateOf {
state.firstVisibleitemIndex > 0
}
}
![](/file/557170ab0a3480e2e7036.png)
![](/file/02ed4e2dce15c404dae29.png)
Вся след инфа будет в скринах, мне лень писать
![](/file/629def6f827451e520a6f.png)
![](/file/8e310f8a31d138c4a98c8.png)
![](/file/c29d738e21b23f5f11bf3.png)
Пересмотри видео, если хочешь лучше разобраться с кастомизацией ( с 7 минуты)
LazyLayout - Кастомка для креативных
Почитай потом про эту дичь.
Тут можно почитать про анимацию lazyLay