Para facilitar o uso, muitos dos combináveis integrados do Material 3
(androidx.compose.material3
)
processam os insetos por conta própria, com base na forma como os combináveis são colocados no app
de acordo com as especificações do Material.
Elementos combináveis que processam o recuo
Confira a seguir uma lista dos componentes do Material Design que processam automaticamente os insets.
Barras de apps
TopAppBar
/SmallTopAppBar
/CenterAlignedTopAppBar
/MediumTopAppBar
/LargeTopAppBar
: aplica os lados superior e horizontal das barras do sistema como padding, já que é usado na parte de cima da janela.BottomAppBar
: aplica os lados inferior e horizontal das barras do sistema como padding.
Contêineres de conteúdo
ModalDrawerSheet
/DismissibleDrawerSheet
/PermanentDrawerSheet
(conteúdo dentro de uma gaveta de navegação modal): aplica engastes vertical e start ao conteúdo.ModalBottomSheet
: aplica os insetos inferiores.NavigationBar
: aplica os engastes inferior e horizontal.NavigationRail
: aplica os engastes vertical e start.
Scaffold
Por padrão,
Scaffold
fornece insets como parâmetro paddingValues
para você consumir e usar.
O Scaffold
não aplica os insetos ao conteúdo. Essa responsabilidade é sua.
Por exemplo, para consumir esses insetos com um LazyColumn
dentro de um 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 ) { // .. } }
O vídeo a seguir mostra um LazyColumn
em um Scaffold
com a tela
de ponta a ponta desativada e ativada:
Substituir insetos padrão
Você pode mudar o parâmetro windowInsets
transmitido ao elemento combinável para
configurar o comportamento dele. Esse parâmetro pode ser um tipo diferente de
janela inserida para aplicar ou desativado transmitindo uma instância vazia:
WindowInsets(0, 0, 0, 0)
.
Por exemplo, para desativar o processamento de insetos em
LargeTopAppBar
,
defina o parâmetro windowInsets
como uma instância vazia:
LargeTopAppBar( windowInsets = WindowInsets(0, 0, 0, 0), title = { Text("Hi") } )