У меня есть такая ленивая колонка
Код: Выделить всё
LazyColumn(
modifier = Modifier
.fillMaxWidth()
.height(gridMultiple(i = 15) * data.size)
.padding(vertical = gridMultiple(i = 2)),
verticalArrangement = Arrangement.spacedBy(gridMultiple(i = 2)),
userScrollEnabled = false
) {
items(data.size) { index ->
val item = data[index]
ListItem(
item,
editButtonClick = { id -> onEditClick(id) }
)
}
}
и он инкапсулирован в компонуемый XML-элемент взаимодействия следующим образом:
Загвоздка в том, что InformationList находится внутри ScrollView (XML), и я хочу, чтобы список ленивых столбцов был полностью развернут в представлении прокрутки. Но я не знаю, какой высоты должны быть элементы, поэтому выполняю следующие математические вычисления:
Но он использует либо слишком много места, либо недостаточно. Таким образом, либо элементы обрезаются, либо в конце остается много пустого места. Я хочу использовать ровно столько места, сколько нужно LazyColumn. Если я установлю высоту для переноса, я получу исключение, что ленивый столбец имеет бесконечную возможную высоту и должен иметь указанную высоту. Должен быть способ сделать это. Я знаю, что максимальное количество элементов, которые могут когда-либо находиться в ленивом столбце, ограничено примерно 10.
Подробнее здесь:
https://stackoverflow.com/questions/720 ... ck-compose