Вложенная прокрутка в написании Android
У меня есть столбец, и внутри столбца есть разделитель определенного размера и LazyColumn. Сейчас происходит следующее: когда я хочу прокрутить, First LazyColumn начинает прокручиваться, а когда он достигает конца, столбец начинает прокручиваться до конца.
Я хочу, чтобы сначала столбец начал прокручиваться, а когда он достигнет конца, My LazyColumn начал прокручиваться.
Это мой пример кода
Column(
modifier = Modifier
.fillMaxHeight()
.verticalScroll(scrollState),
) {
Spacer(modifier = Modifier.height(300.dp))
LazyColumn(
modifier = Modifier
.height(LocalConfiguration.current.screenHeightDp.dp)
.fillMaxSize(),
) {
items(50) { item ->
Text(modifier = Modifier.height(40.dp), text = "ITEM NUMBER: $item")
}
}
}
2 ответа
Добавьте код Spacer внутри LazyColumn как один из элементов и удалите Column.
LazyColumn(modifier = Modifier.fillMaxSize()) {
item {
Spacer(modifier = Modifier.height(300.dp))
}
items(50) { item ->
Text(modifier = Modifier.height(40.dp), text = "ITEM NUMBER: $item")
}
}
Я не уверен, какова ваша конечная цель, собираетесь ли вы иметь какой-то дополнительный контент в столбце или нет, но для этого конкретного примера я не думаю, что вложенная прокрутка нужна :)
Код ниже должен вести себя так, как вы хотели. Он будет прокручивать содержимое, включая разделитель, который теперь заменен наcontent padding
. Надеюсь это поможет! :)
LazyColumn(
modifier = Modifier.fillMaxSize(),
contentPadding = PaddingValues(top = 300.dp),
) {
items(50) { item ->
Text(
modifier = Modifier.height(40.dp),
text = "ITEM NUMBER: $item"
)
}
}