Para facilitar o uso, muitos dos elementos combináveis integrados do Material 3
(androidx.compose.material3
)
processam encartes por conta própria, com base em como os elementos combináveis são colocados no app
de acordo com as especificações do Material.
Elementos combináveis de processamento de encartes
Confira a seguir uma lista dos Componentes do Material Design que processam encartes automaticamente.
Barras de apps
TopAppBar
/SmallTopAppBar
/CenterAlignedTopAppBar
/MediumTopAppBar
/LargeTopAppBar
: aplica as partes superior e horizontal das barras de sistema como padding, já que é usado na parte de cima da janela.BottomAppBar
: aplica as partes inferior e horizontal das barras de sistema como padding.
Contêineres de conteúdo
ModalDrawerSheet
/DismissibleDrawerSheet
/PermanentDrawerSheet
(conteúdo dentro de uma gaveta de navegação modal): aplica encartes verticais e iniciais ao conteúdo.ModalBottomSheet
: aplica os encartes inferiores.NavigationBar
: aplica os encartes inferior e horizontal.NavigationRail
: aplica os encartes vertical e start.
Scaffold
Por padrão, o
Scaffold
fornece encartes como parâmetro PaddingValues
para você consumir e usar.
Scaffold
não aplica os encartes ao conteúdo. Essa responsabilidade é sua.
Por exemplo, para consumir esses encartes 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 exibição
de ponta a ponta desativada e ativada:
Usar o parâmetro PaddingValues
em Scaffold
geralmente é suficiente para inserir
sua interface longe da interface do sistema e dos cortes de tela. Evite usar outras abordagens de processamento de encartes, como réguas, modificadores de padding ou modificadores de tamanho de encarte, se estiver usando Scaffold
para evitar aplicar muito padding à sua interface.
Substituir encartes 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
encarte de janela para aplicar ou ser desativado transmitindo uma instância vazia:
WindowInsets(0, 0, 0, 0)
.
Por exemplo, para desativar o processamento de encartes em
LargeTopAppBar
,
defina o parâmetro windowInsets
como uma instância vazia:
LargeTopAppBar( windowInsets = WindowInsets(0, 0, 0, 0), title = { Text("Hi") } )