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:
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") } )