Para facilitar o uso, muitos dos elementos combináveis integrados do Material 3
(androidx.compose.material3)
processam encartes por conta própria, conforme o posicionamento deles no app e 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 de modo automático.
Barras de apps
TopAppBar/SmallTopAppBar/CenterAlignedTopAppBar/MediumTopAppBar/LargeTopAppBar: aplica as bordas superior e horizontal das barras de sistema como padding, já que é usado na parte de cima da janela.BottomAppBar: aplica as bordas 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 UI do sistema e dos cortes de tela. Evite usar outras abordagens de processamento de encartes, como réguas, modificadores de padding ou de tamanho de encarte, se estiver usando Scaffold para não aplicar muito padding à sua interface.
Substituir encartes padrão
É possível 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") } )