Używanie wstawek Material 3

Wiele wbudowanych komponentów Material 3androidx.compose.material3 samodzielnie obsługuje wcięcia na podstawie tego, jak są umieszczone w aplikacji zgodnie ze specyfikacjami Material.

Funkcje kompozycyjne do obsługi wcięć

Poniżej znajdziesz listę komponentów Material, które automatycznie obsługują wcięcia.

Paski aplikacji

Kontenery treści

Scaffold

Domyślnie Scaffold udostępnia wcięcia jako parametr paddingValues, który możesz wykorzystać. Scaffold nie stosuje marginesów do treści; jest to Twoja odpowiedzialność. Aby na przykład użyć tych wstawek w elemencie LazyColumn w elemencie Scaffold:

Scaffold { innerPadding ->
    // innerPadding contains inset information for you to use and apply
    LazyColumn(
        // consume insets as scaffold doesn't do it by default
        modifier = Modifier.consumeWindowInsets(innerPadding),
        contentPadding = innerPadding
    ) {
        // ..
    }
}

Ten film pokazuje LazyColumnScaffold z wyłączonym i włączonym wyświetlaczem od krawędzi do krawędzi:

Zastępowanie domyślnych marginesów

Możesz zmienić parametr windowInsets przekazywany do funkcji kompozycyjnej, aby skonfigurować jej działanie. Ten parametr może być innym typem wstawki okna, który ma zostać zastosowany, lub może być wyłączony przez przekazanie pustej instancji:WindowInsets(0, 0, 0, 0).

Jeśli np. chcesz wyłączyć obsługę wstawki w przypadku elementu LargeTopAppBar, ustaw parametr windowInsets na pustą instancję:

LargeTopAppBar(
    windowInsets = WindowInsets(0, 0, 0, 0),
    title = {
        Text("Hi")
    }
)