Używanie wstawek Material 3

Aby ułatwić korzystanie, wiele wbudowanych komponentów Material 3 (androidx.compose.material3) samodzielnie obsługuje dopełnienia na podstawie tego, jak komponenty są umieszczone w aplikacji zgodnie ze specyfikacjami Material.

Komponenty obsługujące dopełnienia

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

Paski aplikacji

Kontenery treści

Scaffold

Domyślnie Scaffold udostępnia dopełnienia jako parametr PaddingValues, którego możesz używać. Komponent Scaffold nie stosuje dopełnień do treści. Odpowiadasz za to Ty. Aby na przykład użyć tych dopełnień w komponencie LazyColumn w komponencie 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 komponent LazyColumn w komponencie Scaffold z wyłączonym i włączonym wyświetlaniem od krawędzi do krawędzi:

Użycie parametru PaddingValues w komponencie Scaffold zwykle wystarcza, aby odsunąć interfejs od interfejsu systemowego i wycięć. Jeśli używasz komponentu Scaffold, unikaj stosowania dodatkowych metod obsługi dopełnień, takich jak linijki, modyfikatory dopełnienia czy modyfikatory rozmiaru dopełnienia, aby nie stosować zbyt dużego dopełnienia w interfejsie.

Zastępowanie domyślnych dopełnień

Aby skonfigurować działanie komponentu, możesz zmienić parametr windowInsets przekazywany do komponentu. Ten parametr może być innym typem dopełnienia okna, które ma być zastosowane, lub może być wyłączony przez przekazanie pustej instancji: WindowInsets(0, 0, 0, 0).

Aby na przykład wyłączyć obsługę dopełnień w komponencie LargeTopAppBar, ustaw parametr windowInsets na pustą instancję:

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