Guia de migração
- Guia de migração do Navigation 2 para o Navigation 3: guia detalhado para migrar um app Android do Navigation 2 para o Navigation 3, abordando atualizações de dependência, mudanças de rota, gerenciamento de estado e substituições de componentes de UI.
Requisitos
- Guia: migrar para a navegação com segurança de tipos no Compose: guia detalhado para migrar um app Android da navegação baseada em strings para a Navegação com segurança de tipos no Jetpack Compose usando o Jetpack Navigation 2.
Documentação do desenvolvedor
- *Navigation 3. Consulte a documentação de pesquisa para mais informações sobre conceitos básicos, como salvar e gerenciar o estado de navegação, modularizar o código de navegação, criar layouts personalizados usando cenas, animar entre destinos ou aplicar lógica ou wrappers a destinos.
Roteiros
Exemplos de código que mostram padrões comuns.
Uso básico da API
- Básico: mostra o uso mais básico da API.
- Backstack salva: mostra o uso básico da API com uma backstack persistente.
- DSL do provedor de entradas: mostra o uso básico da API usando a DSL entryProvider.
Interface comum
- Interface comum: demonstra como implementar um padrão comum de interface de navegação com uma barra de navegação inferior e várias backstacks, em que cada guia na barra de navegação tem seu próprio histórico de navegação.
Links diretos
- Básico: mostra como analisar um URL de link direto de uma intent do Android em uma chave de navegação.
- Avançado: mostra como processar links diretos com uma pilha de retorno sintética e o comportamento correto de navegação "Para cima".
Cenas
Usar cenas integradas
- Dialog: mostra como criar uma caixa de diálogo.
Criar cenas personalizadas
- BottomSheet: mostra como criar um destino BottomSheet.
- Cena de detalhes e listas: demonstra como implementar layouts adaptáveis de detalhes e listas usando a API Navigation 3 Scenes.
- Cena de dois painéis: demonstra como implementar layouts adaptáveis de dois painéis usando a API Navigation 3 Scenes.
Material Adaptive
- Detalhes e listas do Material: demonstra como implementar um layout adaptável de detalhes e listas usando o Material 3 Adaptive.
- Painel de suporte do Material: demonstra como implementar um layout de painel de suporte adaptável usando o Material 3 Adaptive.
Animações
- Animações: mostra como substituir as animações padrão para todos os destinos e um único destino.
Comportamento comum da backstack
- Várias backstacks: mostra como criar várias rotas de nível superior, cada uma com a própria backstack. As rotas de nível superior são mostradas em uma barra de navegação, permitindo que os usuários alternem entre elas. O estado é mantido para cada rota de nível superior, e o estado de navegação persiste em mudanças de configuração e encerramento do processo.
Navegação condicional
- Navegação condicional: mude para um fluxo de navegação diferente quando uma condição for atendida. Por exemplo, para autenticação ou integração de novos usuários.
Arquitetura
- Código de navegação modularizado (Hilt): demonstra como desacoplar o código de navegação em módulos separados usando o Hilt ou o Dagger para DI.
- Código de navegação modularizado (Koin): demonstra como desacoplar o código de navegação em módulos separados usando o Koin para DI.
Como trabalhar com ViewModel
Como transmitir argumentos de navegação
- ViewModel básico: os argumentos de navegação são transmitidos para um
ViewModelcriado usandoviewModel().
Retornando resultados
- Retornar resultados como eventos: retornar resultados como eventos para
conteúdo em outro
NavEntry - Retornar resultados como estado: retornar resultados como estado armazenado em um
CompositionLocal