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
TopAppBar/CenterAlignedTopAppBar/MediumTopAppBar/LargeTopAppBar: stosuje górne i poziome krawędzie pasków systemowych jako dopełnienie, ponieważ jest używany u góry okna.BottomAppBar: stosuje dolne i poziome krawędzie pasków systemowych jako dopełnienie.
Kontenery treści
ModalDrawerSheet/DismissibleDrawerSheet/PermanentDrawerSheet(treść w modalnym panelu nawigacyjnym): stosuje do treści dopełnienia pionowe i początkowe.ModalBottomSheet: stosuje dolne dopełnienia.NavigationBar: stosuje dolne i poziome dopełnienia.NavigationRail: stosuje pionowe i początkowe dopełnienia.
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") } )