Navegação

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ção NavHostpadrão, NavHostFragment, que mostra os destinos do fragmento.
  • NavController: é um objeto que gerencia a navegação do aplicativo em um NavHost. O NavController organiza a troca do conteúdo de destino no NavHost 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 um ViewModel 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

Exemplos

Codelabs

Postagens do blog

Vídeos