LazyLayouts

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

}

}


Другая полезная инфа ( state передается в LazyLay)
Так можно прокрутить до 0 элемента)))



Вся след инфа будет в скринах, мне лень писать

spacedBy() works the same, PaddingValues too


Чтобы не ехали элементы используй адаптивность :)


не до конца пон, попрубуй потом использовать, автор сказал, что так можно устанавливать адаптивно-фиксированные значение, в данном примере 2 элемента адаптивной ширины, а именно первый элемент в 2 раза больше второго.


Пересмотри видео, если хочешь лучше разобраться с кастомизацией ( с 7 минуты)


LazyLayout - Кастомка для креативных

Почитай потом про эту дичь.


Тут можно почитать про анимацию lazyLay











Report Page