Możesz częściowo wyświetlić planszę dolną, a następnie pozwolić użytkownikowi na wyświetlenie jej na pełnym ekranie lub jej zamknięcie.
Aby to zrobić, przekaż do ModalBottomSheet instancję SheetState z parametrem skipPartiallyExpanded ustawionym na false.
Przykład
Ten przykład pokazuje, jak używać właściwości sheetState elementu ModalBottomSheet, aby początkowo wyświetlać arkusz tylko częściowo:
@Composable fun PartialBottomSheet() { var showBottomSheet by remember { mutableStateOf(false) } val sheetState = rememberModalBottomSheetState( skipPartiallyExpanded = false, ) Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally, ) { Button( onClick = { showBottomSheet = true } ) { Text("Display partial bottom sheet") } if (showBottomSheet) { ModalBottomSheet( modifier = Modifier.fillMaxHeight(), sheetState = sheetState, onDismissRequest = { showBottomSheet = false } ) { Text( "Swipe up to open sheet. Swipe down to dismiss.", modifier = Modifier.padding(16.dp) ) } } } }
Najważniejsze informacje o kodzie
W tym przykładzie:
showBottomSheetokreśla, czy aplikacja wyświetla planszę dolną.sheetStateto instancjaSheetState, w którejskipPartiallyExpandedma wartość false.ModalBottomSheetprzyjmuje modyfikator, który zapewnia, że po pełnym rozwinięciu wypełnia ekran.ModalBottomSheetprzyjmujesheetStatejako wartość parametrusheetState.- W efekcie arkusz jest tylko częściowo widoczny po pierwszym otwarciu. Użytkownik może następnie przeciągnąć lub przesunąć palcem, aby wyświetlić ją na pełnym ekranie lub zamknąć.
- Funkcja lambda
onDismissRequestokreśla, co się stanie, gdy użytkownik spróbuje zamknąć planszę dolną. W takim przypadku usuwany jest tylko arkusz.
Wyniki
Gdy użytkownik po raz pierwszy naciśnie przycisk, arkusz wyświetli się częściowo:
Jeśli użytkownik przesunie palcem w górę, arkusz wypełni ekran: