Jetpack Составление элементов LazyVerticalGrid одинаковой высоты с разным количеством подпредставлений без указания фиксAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Jetpack Составление элементов LazyVerticalGrid одинаковой высоты с разным количеством подпредставлений без указания фикс

Сообщение Anonymous »

Я пытаюсь создать LazyVerticalGrid GridCells.Fixed(2). Проблема, с которой я столкнулся, связана с элементом.
В моем GridItem есть компоненты (представления), которые различаются в зависимости от условий. Например, если некоторые данные недоступны, не отображайте этот конкретный элемент (представление).
Я хочу, чтобы каждый GridItem имел одинаковый размер, в зависимости от того, какой из двух элементов больше.
Я не хочу устанавливать фиксированная высота элемента сетки.
Вот как он выглядит сейчас
[img]https://i.sstatic.net /oJPfYigA.png[/img]

Что я ожидаю (чтобы продемонстрировать ожидаемый пример, я установил фиксированную высоту)
Изображение

Вот мой код. Это довольно простая реализация ->
@Composable
fun DynamicHeightGrid(items: List = listOf(item1, item2, item3, item4, item5)) {
LazyVerticalGrid (
columns = GridCells.Fixed(2),
modifier = Modifier
.padding(16.dp)
) {

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

    itemsIndexed(items) { index, item ->
GridItem(item)
}
}
}
@Composable
fun GridItem(
content: RandomItems,
) {
Card(
модификатор = Модификатор
.padding(4.dp)
.fillMaxWidth()

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

) {
Column(
modifier = Modifier`enter code here`
.padding(4.dp)

) {
with(content) {
//     Text(text = "$index height $height", fontSize = 20.sp, maxLines = 3)

Text(text = title!!, fontSize = 20.sp, maxLines = 3)
Spacer(modifier = Modifier.height(2.dp))

Text(text = " Price: $price!!", fontSize = 24.sp)

value?.let {
Text(text = value, fontSize = 14.sp)
}

Text(text = shortDesc!!, fontSize = 14.sp)

passion?.let {
Text(text = passion, fontSize = 14.sp)
}

newValue?.let {
Text(text = newValue, fontSize = 14.sp)
}

Spacer(modifier = Modifier.height(10.dp))
if (isRequired == true) {
Button(
onClick = { },
modifier = Modifier
.height(20.dp)
.fillMaxWidth()
.background(Color.Red)
) {
Text(
color = Color.White,
text = "Get New value"
)
}
}

}

}
}
}
Что я пробовал:
Как выровнять высоту элементов в LazyVerticalGrid?
Jetpack Compose: строка со всеми элементами одинаковой высоты

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

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

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

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

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

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

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