Usar engastes do Material 3

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

Contêineres de conteúdo

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