Как отключить пролистывание экрана ModalBottomSheetLayout в Jetpack ComposeAndroid

Форум для тех, кто программирует под Android
Anonymous
Как отключить пролистывание экрана ModalBottomSheetLayout в Jetpack Compose

Сообщение Anonymous »

Я работаю с ModalBottomSheet в Jetpack Compose, и мне нужно отключить функцию пролистывания. Хотя я нашел обходной путь, который частично решает мою проблему, он создал новую проблему. В частности, LazyColumn внутри ModalBottomSheet больше не прокручивается.
Вот расширение модификатора, которое я нашел в системе отслеживания ошибок Google, которое помогло отключить вертикальную прокрутку:

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

fun Modifier.verticalScrollDisabled() =
pointerInput(Unit) {
awaitPointerEventScope {
while (true) {
awaitPointerEvent(pass = PointerEventPass.Initial).changes.forEach {
val offset = it.positionChange()
if (abs(offset.y) > 0f) {
it.consume()
}
}
}
}
}
Это отключает смахивание вниз для отклонения поведения ModalBottomSheet, но за счет отключения и вертикальной прокрутки в моем LazyColumn. Кроме того, я не думаю, что это лучшая практика :)

Подробнее здесь: https://stackoverflow.com/questions/768 ... ck-compose

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