O componente da gaveta de navegação é um menu deslizante que permite que os usuários naveguem por várias seções do app. Os usuários podem ativar esse recurso deslizando para o lado ou tocando em um ícone de menu.
Considere estes três casos de uso para implementar uma gaveta de navegação:
- Organização de conteúdo:permita que os usuários alternem entre diferentes categorias, como em apps de notícias ou blogs.
- Gerenciamento da conta:ofereça links rápidos para as configurações da conta e as seções do perfil em apps com contas de usuário.
- Descoberta de recursos:organize vários recursos e configurações em um único menu para facilitar a descoberta e o acesso do usuário em apps complexos.
No Material Design, há dois tipos de gavetas de navegação:
- Padrão:compartilha espaço em uma tela com outro conteúdo.
- Modal:aparece sobre outros conteúdos em uma tela.
Compatibilidade de versões
Essa implementação exige que o minSDK do projeto seja definido como nível 21 da API ou mais recente.
Dependências
Implementar uma gaveta de navegação
Você pode usar o elemento combinável ModalNavigationDrawer
para implementar uma
gaveta de navegação:
Pontos principais
Use o slot
drawerContent
para fornecer umModalDrawerSheet
e o conteúdo da gaveta.ModalNavigationDrawer
aceita vários outros parâmetros de gaveta. Por exemplo, é possível ativar ou desativar a resposta da gaveta às ações de arrastar com o parâmetrogesturesEnabled
, como no exemplo abaixo:
Controlar o comportamento da gaveta de navegação
Para controlar como a gaveta é aberta e fechada, use DrawerState
:
Pontos principais
- Transmita um
DrawerState
paraModalNavigationDrawer
usando o parâmetrodrawerState
. DrawerState
fornece acesso às funçõesopen
eclose
, além de propriedades relacionadas ao estado atual da gaveta. Essas funções de suspensão exigem umCoroutineScope
, que pode ser instanciado usandorememberCoroutineScope
. Também é possível chamar as funções de suspensão em resposta a eventos da interface.
Resultados
Coleções que contêm este guia
Este guia faz parte destas coleções selecionadas de guias rápidos que abrangem metas mais amplas de desenvolvimento para Android:
![](https://developer.android.com/static/images/quick-guides/collection-illustration.png?hl=pt-br)