Utilizzare gli inserti di Material 3

Per semplicità d'uso, molti dei composabili Material 3 integrati (androidx.compose.material3) gestiscono autonomamente gli inserti, in base alla modalità di inserimento dei composabili nell'app in base alle specifiche di Material.

Composabili per la gestione degli intestazioni

Di seguito è riportato un elenco dei Material Components che gestiscono automaticamente gli inserti.

Barre delle app

Contenitori di contenuti

Scaffold

Per impostazione predefinita, Scaffold fornisce gli insert come parametro paddingValues da consumare e utilizzare. Scaffold non applica gli insert ai contenuti; questa responsabilità è tua. Ad esempio, per utilizzare questi intestazioni con un LazyColumn all'interno di un 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
    ) {
        // ..
    }
}

Il seguente video mostra un LazyColumn all'interno di un Scaffold con il display edge-to-edge disattivato e attivato:

Sostituire gli inserti predefiniti

Puoi modificare il parametro windowInsets passato al composable per configurarne il comportamento. Questo parametro può essere un tipo diverso di rientranza della finestra da applicare oppure può essere disattivato passando un'istanza vuota:WindowInsets(0, 0, 0, 0).

Ad esempio, per disattivare la gestione dell'inserimento su LargeTopAppBar, imposta il parametro windowInsets su un'istanza vuota:

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