Utilizzare gli inserti di Material 3

Per facilità d'uso, molti dei composable Material 3 integrati (androidx.compose.material3) gestiscono autonomamente gli inset, in base al modo in cui i composable vengono posizionati nell'app in conformità con le specifiche Material.

Composable per la gestione degli inset

Di seguito è riportato un elenco dei componenti Material� che gestiscono automaticamente gli inserti.

Barre delle app

Contenitori di contenuti

Scaffold

Per impostazione predefinita, Scaffold fornisce gli inserti come parametro paddingValues da utilizzare. Scaffold non applica gli inserti ai contenuti; questa responsabilità è tua. Ad esempio, per utilizzare questi inserti 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 la visualizzazione da bordo a bordo disattivata e attivata:

Sostituisci i margini interni predefiniti

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

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

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