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 untere und die horizontale Seite 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 Einzüge vertikal und start an.
Gerüst
Standardmäßig stellt Scaffold
Einzüge als Parameter paddingValues
bereit, die Sie verwenden können.
Scaffold
wendet die Einblendungen nicht auf Inhalte an. 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 Composeables 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") } )