Für eine einfache Bedienung werden Einzüge bei vielen der integrierten Material 3-Kompositionen (androidx.compose.material3
) automatisch verwaltet. Dabei wird berücksichtigt, wie die Kompositionen gemäß den Material-Spezifikationen in Ihrer App platziert werden.
Einfügen von Composeable-Elementen
Im Folgenden finden Sie eine Liste der Materialkomponenten, die Einzüge automatisch verarbeiten.
App-Leisten
TopAppBar
/SmallTopAppBar
/CenterAlignedTopAppBar
/MediumTopAppBar
/LargeTopAppBar
: Die obere und horizontale Seite der Systemleisten werden als Abstand angewendet, da sie oben im Fenster verwendet wird.BottomAppBar
: Hiermit werden die unteren und horizontalen Seiten der Systemleisten als Abstand verwendet.
Content-Container
ModalDrawerSheet
/DismissibleDrawerSheet
/PermanentDrawerSheet
(Inhalte in einer modalen Navigationsleiste): Hier werden die Einzüge vertikal und start auf die Inhalte angewendet.ModalBottomSheet
: Mit dieser Option werden die Unterschnitte angewendet.NavigationBar
: Wendet die Einzüge bottom (unten) und horizontal (horizontal) an.NavigationRail
: Wendet die Einblendungen vertikal und start an.
Gerüst
Standardmäßig stellt Scaffold
Einzüge als Parameter paddingValues
bereit, die Sie verwenden können.
Scaffold
fügt die Einblendungen nicht in den Inhalt ein. Dafür sind Sie selbst verantwortlich.
So verwenden Sie diese Einzüge beispielsweise mit einem LazyColumn
in einem 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 ) { // .. } }
Im folgenden Video ist ein LazyColumn
in einem Scaffold
zu sehen, bei dem das Display von Rand zu Rand deaktiviert und aktiviert ist:
Standard-Einzüge überschreiben
Sie können den an das Composeable übergebenen Parameter windowInsets
ändern, um das Verhalten des Composeable zu konfigurieren. Mit diesem Parameter kann ein anderer Fenstereinzug angewendet oder deaktiviert werden, indem eine leere Instanz übergeben wird: WindowInsets(0, 0, 0, 0)
.
Wenn Sie beispielsweise die Einzug-Verarbeitung für LargeTopAppBar
deaktivieren möchten, setzen Sie den Parameter windowInsets
auf eine leere Instanz:
LargeTopAppBar( windowInsets = WindowInsets(0, 0, 0, 0), title = { Text("Hi") } )