Material 3-Einleger verwenden

Viele der integrierten Material 3-Composables (androidx.compose.material3) verarbeiten Insets selbst, je nachdem, wie die Composables gemäß den Material-Spezifikationen in Ihrer App platziert werden.

Composables für die Verarbeitung von Insets

Nachfolgend finden Sie eine Liste der Material Components, die Insets automatisch verarbeiten.

App-Leisten

Content-Container

Gerüst

Standardmäßig stellt Scaffold Insets als Parameter paddingValues zur Verfügung, die Sie verwenden können. Bei Scaffold werden die Insets nicht auf Inhalte angewendet. Das liegt in Ihrer Verantwortung. So können Sie diese Insets beispielsweise mit einem LazyColumn innerhalb eines Scaffold verwenden:

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 sehen Sie ein LazyColumn in einem Scaffold mit deaktivierter und aktivierter Edge-to-Edge-Anzeige:

Standard-Insets überschreiben

Sie können den Parameter windowInsets ändern, der an die Composable übergeben wird, um das Verhalten der Composable zu konfigurieren. Dieser Parameter kann ein anderer Typ von Fenstereinsatz sein, der stattdessen angewendet werden soll, oder er kann durch Übergeben einer leeren Instanz deaktiviert werden: WindowInsets(0, 0, 0, 0).

Wenn Sie beispielsweise die Inset-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")
    }
)