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
TopAppBar
/SmallTopAppBar
/CenterAlignedTopAppBar
/MediumTopAppBar
/LargeTopAppBar
: applica i lati superiore e orizzontale delle barre di sistema come spaziatura interna, poiché vengono utilizzati nella parte superiore della finestra.BottomAppBar
: applica i lati inferiore e orizzontale delle barre di sistema come spaziatura interna.
Contenitori di contenuti
ModalDrawerSheet
/DismissibleDrawerSheet
/PermanentDrawerSheet
(contenuti all'interno di un riquadro di navigazione modale): applica i rientri verticali e iniziale ai contenuti.ModalBottomSheet
: applica i rientri inferiori.NavigationBar
: applica gli inserti bottom e horizontal.NavigationRail
: applica gli inserti verticale e inizio.
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") } )