Я заставляю сетку иметь только одну строку, когда у меня меньше 6 элементов, и это тоже хорошо работает. Но если у меня 6, я бы хотел, чтобы первая строка заполнялась, а элемент 6 появлялся ниже.
Я знаю, что такое поведение больше похоже на Flow Layout. Но мне также нужна горизонтальная прокрутка для случая, когда у меня много элементов и я не могу иметь более двух строк.
Вот представление того, что я' Я получаю:

И что я пытаюсь добиться:

Вот мой код для горизонтальной сетки:
@Composable
fun HorizontalGridLayout(
rowNumber: Int,
columnList: List Unit)>,
modifier: Modifier = Modifier,
) {
LazyHorizontalGrid(
modifier = modifier,
rows = GridCells.Fixed(rowNumber),
verticalArrangement = Arrangement.spacedBy(spacerSize),
horizontalArrangement = Arrangement.spacedBy(spacerSize)
) {
repeat(rowNumber) {
item {
Spacer(Modifier.width(horizontalSpacing))
}
}
items(
count = columnList.size,
key = {
columnList[it].hashCode()
}, itemContent = { column ->
Column(
content = columnList[column]
)
if (column < columnList.size - 1) {
Spacer(Modifier.width(spacerSize))
}
}
)
repeat(rowNumber) {
item {
Spacer(Modifier.width(horizontalSpacing))
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... row-by-row
Мобильная версия