Как сделать так, чтобы элемент ленивого столбца занимал всю высоту в Jetpack Compose?
Я пытаюсь работать с ленивым столбцом Compose, я хочу, чтобы каждый элемент моего ленивого столбца имел максимальную высоту, я попробовал приведенный ниже код, но он не дает ожидаемого результата
Код
val itemsList: Список по mainScreenViewModel.portfolioItems.observeAsState(listOf())
Box(modifier = Modifier.fillMaxSize()) {
Column(modifier = Modifier.matchParentSize()) {
LazyColumn(
content = {
itemsIndexed(itemsList) { index, item ->
Text(text = "Hello", modifier = Modifier.fillMaxHeight())
}
},
)
}
}
2 ответа
fillMaxHeight()
/
fillMaxWidth()
не работают правильно для вертикальной и горизонтальной прокрутки списка соответственно. Вместо этого мы можем использовать
fillParentHeight()
а также
fillParentWidth()
соответственно предусмотрено в
LazyItemScope
.
Образец кода:
LazyColumn(
modifier = modifier.fillMaxHeight()) {
items(count = 3) {
Column(modifier = Modifier.fillParentMaxHeight()) {
Text(
text = "Item $it",
modifier = Modifier.fillMaxWidth()
)
Divider(Modifier.height(2.dp))
}
}
}
Подробнее см. Https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyItemScope.
Используйте модификатор
Modifier.fillParentMaxHeight()
в предметах.
Text(text = "Hello", modifier = Modifier.fillParentMaxHeight())