A navegação se refere às interações que permitem aos usuários navegar, entrar e sair de diferentes partes do conteúdo no aplicativo. O componente de navegação do Android Jetpack ajuda você a implementar a navegação, desde simples cliques em botões até padrões mais complexos, como barras de aplicativos e a gaveta de navegação. Esse componente também garante uma experiência do usuário consistente e previsível por meio da adesão a um conjunto de princípios estabelecido.
O componente de navegação consiste de três partes principais, descritas abaixo:
- Gráfico de navegação: é um recurso XML que contém todas as informações relacionadas à navegação em um local centralizado. Isso inclui todas as áreas de conteúdo individual no aplicativo, chamadas destinos, e todos os caminhos que podem ser percorridos pelo usuário no aplicativo.
NavHost
: é um contêiner vazio que mostra destinos do gráfico de navegação. O componente de navegação contém uma implementaçãoNavHost
padrão,NavHostFragment
, que mostra os destinos do fragmento.NavController
: é um objeto que gerencia a navegação do aplicativo em umNavHost
. ONavController
organiza a troca do conteúdo de destino noNavHost
conforme os usuários se movem pelo aplicativo.
À medida que navega pelo aplicativo, você informa ao NavController
que precisa navegar por um caminho específico no gráfico de navegação ou ir diretamente a um destino em particular. Em seguida, o NavController
apresentará o destino adequado no NavHost
.
O componente de navegação oferece diversos outros benefícios, inclusive os listados a seguir:
- Processamento de transações do fragmento.
- Processamento correto de ações Para cima e Voltar por padrão.
- Fornecimento de recursos padronizados para animações e transições.
- Implementação e processamento de links diretos.
- Inclusão de padrões da IU de navegação, como as gavetas de navegação e a navegação inferior, com o mínimo de trabalho adicional.
- Safe Args: é um plug-in do Gradle que oferece type-safety ao navegar e passar dados entre destinos.
- Compatibilidade com
ViewModel
: é possível definir escopo a umViewModel
para um gráfico de navegação e compartilhar dados relacionados à IU entre os destinos do gráfico.
Além disso, você pode usar o Navigation Editor do Android Studio para visualizar e editar os gráficos de navegação.
Próximas etapas
Para mais documentação e recursos relacionados ao componente de navegação, consulte as informações a seguir.
Primeiros passos
Tópicos adicionais
- Princípios da navegação
- Criar designs para diferentes formatos
- Navegação por gestos
- Criar gráficos de navegação
- Gráficos aninhados
- Ações globais
- Navegação condicional
- Transmitir dados entre destinos
- Criar um link direto para um destino
- Animar transições entre destinos
- Atualizar componentes da IU com o NavigationUI
- Criar visualizações deslizáveis com guias
- Interagir programaticamente com o componente de navegação
- Testar navegação
- Adicionar novos tipos de destino
- Fornecer navegação personalizada no sentido contrário
- Fazer a migração para o componente de navegação