Habilidades do Android
Ver no GitHubJetpack Navigation 3
android skills add navigation-3A Navigation 3 é uma biblioteca de navegação projetada para funcionar com o Compose. Com o Navigation 3, você tem controle total sobre a backstack e navega entre destinos adicionando e removendo itens de uma lista. Ele cria um sistema de navegação flexível para o app, fornecendo:
- Convenções para modelar uma backstack, em que cada entrada representa o conteúdo acessado pelo usuário.
- Uma interface que é atualizada automaticamente com mudanças na backstack (incluindo animações)
- Um escopo para itens na backstack, permitindo que o estado seja retido enquanto um item está na backstack.
- Um sistema de layout adaptável que permite que vários destinos sejam mostrados ao mesmo tempo, permitindo alternar entre esses layouts
- Um mecanismo para o conteúdo se comunicar com o layout pai (metadados)
- Comunicação entre destinos para retornar resultados entre telas
Em geral, você implementa o Navigation 3 das seguintes maneiras:
- Defina o conteúdo que os usuários podem acessar no app, cada um com uma chave exclusiva, e adicione uma função para resolver essa chave para o conteúdo. Consulte Resolver chaves para conteúdo.
- Crie uma backstack em que as chaves são enviadas e removidas conforme os usuários navegam pelo app. Consulte Criar uma backstack.
- Use um
NavDisplaypara mostrar a backstack do app. Sempre que a backstack muda, ela atualiza a interface para mostrar o conteúdo relevante. Consulte Mostrar a backstack. - Modifique as estratégias de cena do
NavDisplayconforme necessário para oferecer suporte a layouts adaptáveis e plataformas diferentes. - Oferecer suporte a links diretos para navegar diretamente até os destinos.
Confira o código-fonte completo da Navigation 3 no AOSP.
Melhorias na navegação do Jetpack
A Navigation 3 melhora a API Jetpack Navigation original das seguintes maneiras:
- Oferece uma integração mais simples com o Compose.
- Oferece controle total da backstack
- Permite criar layouts que podem ler mais de um destino da backstack ao mesmo tempo, permitindo que eles se adaptem a mudanças no tamanho da janela e outras entradas.
Leia mais sobre os princípios do Navigation 3 e as opções de design da API na postagem do blog de anúncio.
Amostras de código
O repositório de receitas (link em inglês) contém exemplos de como usar os elementos básicos do Navigation 3 para resolver desafios comuns de navegação.