Częściowa plansza dolna

Możesz częściowo wyświetlić skrzynkę do zadań, a następnie pozwolić użytkownikowi otworzyć ją na pełny ekran lub ją zamknąć.

Aby to zrobić, przekaż ModalBottomSheet instancję SheetState z wartością skipPartiallyExpanded ustawioną na false.

Przykład

Ten przykład pokazuje, jak za pomocą właściwości sheetState obiektu ModalBottomSheet wyświetlić 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 zwróć uwagę na te kwestie:

  • showBottomSheet określa, czy aplikacja ma wyświetlać dolny panel.
  • sheetState jest wystąpieniem klasy SheetState, w której skipPartiallyExpanded ma wartość false.
  • ModalBottomSheet przyjmuje modyfikator, który zapewnia, że wypełnia ekran, gdy jest w pełni rozwinięty.
  • Funkcja ModalBottomSheet przyjmuje wartość sheetState jako wartość parametru sheetState.
    • W związku z tym po pierwszym otwarciu arkusz wyświetla się tylko częściowo. Użytkownik może ją przeciągnąć lub przesunąć w tryb pełnego ekranu albo go zamknąć.
  • Funkcja lambda onDismissRequest określa, co się dzieje, gdy użytkownik próbuje zamknąć planszę dolną. W tym przypadku spowoduje to tylko usunięcie arkusza.

Wyniki

Gdy użytkownik naciśnie przycisk po raz pierwszy, arkusz wyświetli się częściowo:

Plansza dolna, która początkowo wypełnia tylko część ekranu. Użytkownik może przesunąć palcem, aby wypełnić ekran, lub go zamknąć.
Rysunek 1. Częściowo wyświetlona plansza dolna.

Jeśli użytkownik przesunie kartę w górę, wypełni ona cały ekran:

Plansza dolna, którą użytkownik rozwinął na cały ekran.
Rysunek 2. Dolna karta na pełnym ekranie.

Dodatkowe materiały