Как составить элементы, находящиеся за кадром, с помощью LazyColumn или LazyRow?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как составить элементы, находящиеся за кадром, с помощью LazyColumn или LazyRow?

Сообщение Anonymous »

Это вопрос в стиле вопросов и ответов, в котором вы поделитесь своими знаниями, чтобы создать последующий ответ и показать, как создать отложенный список (столбец, строка, сетка), который может включать в себя больше элементов, чем поведение по умолчанию, которое является следующим невидимым элементом в направление прокрутки при начале прокрутки.
В тех случаях, когда для загрузки некоторых элементов требуется больше времени, например видео или загрузки изображения, вам может потребоваться, чтобы больше загружаемых или вводимых элементов занимало больше времени. композиция за кадром.
Изображение

Код: Выделить всё

LazyRow(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.spacedBy(8.dp),
contentPadding = PaddingValues(16.dp),
) {
items(30) {
var loading by remember {
mutableStateOf(true)
}

LaunchedEffect(Unit) {
println("Composing First LazyRow item: $it")
delay(1000)
loading = false
}
MyRow(itemWidth, loading, it)
}
}

@Composable
private fun MyRow(itemWidth: Dp, loading: Boolean, it: Int) {
Box(
modifier = Modifier
.size(itemWidth, 100.dp)
.background(if (loading) Color.Red else Color.Green, RoundedCornerShape(16.dp))
.padding(16.dp)
) {
Text("Row $it", fontSize = 26.sp, color = Color.White)
}
}
Для полной готовности этого элемента требуется 1 секунда, но если вы прокрутите страницу, то как составить этот или несколько элементов?
Вообще-то, я' Я также ищу, как хранить состояния Composables, как это делает moveableContentOf в строке/столбце, но по какой-то причине это не работает с LazyColumn? Это также был бы другой подход к хранению составного состояния, при котором композиция и отображение оставались с последним состоянием перед отображением на экране.

Подробнее здесь: https://stackoverflow.com/questions/792 ... or-lazyrow
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»