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
TopAppBar
/SmallTopAppBar
/CenterAlignedTopAppBar
/MediumTopAppBar
/LargeTopAppBar
: applica i lati superiore e orizzontale delle barre di sistema come spaziatura interna, poiché viene utilizzato 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
(contenuto all'interno di un riquadro di navigazione modale): applica i margini interni verticali e iniziali al contenuto.ModalBottomSheet
: Applica gli inset inferiori.NavigationBar
: applica i margini interni bottom e horizontal.NavigationRail
: applica i margini interni verticali e iniziali.
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") } )