Мне нужно поместить содержимое в нижний лист. Это содержимое очень длинное, а его высота превышает высоту устройства, которое я использую для запуска приложения.
Когда я имею дело с составными элементами листа, не расположенными внизу, я могу легко добиться прокрутки вертикально переполненного содержимого, обернув составной элемент Column вокруг длинного содержимого, а затем применив следующий аргумент к элементу Column:
Код: Выделить всё
Column( modifier = Modifier.verticalScroll(state = rememberScrollState()) ) {}
Ниже приведен код, который я использовал:
Код: Выделить всё
// Controls, from an outside composable, whether the modal bottom sheet should be displayed
var showBottomSheet = mutableStateOf(false)
@Composable
@ExperimentalMaterial3Api
@OptIn(ExperimentalMaterial3Api::class)
fun getBottomSheet() {
val scrollState = rememberScrollState()
val sheetState = rememberModalBottomSheetState()
if (showBottomSheet.value) {
ModalBottomSheet(
onDismissRequest = { showBottomSheet.value = false },
sheetState = sheetState,
modifier = Modifier.fillMaxHeight()
) {
Column (
modifier = Modifier.fillMaxHeight().verticalScroll(scrollState)
) {
// Example: generating a vertically very long content
var i: Int
for (i in 1..50) {
Text("Hello", fontSize = 96.sp)
Text("World!", fontSize = 96.sp)
}
}
}
}
}
Как добиться вертикальной прокрутки длинного контента в полностью развернутом ModalBottomSheet?
Подробнее здесь: https://stackoverflow.com/questions/787 ... dalbottoms
Мобильная версия