navigation3
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
2 de julho de 2025 | - | - | - | 1.0.0-alpha05 |
Declarar dependências
Para adicionar uma dependência ao navigation3, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle
do
seu app ou módulo:
Groovy
dependencies { implementation "androidx.navigation3.navigation3-runtime:1.0.0-alpha05" implementation "androidx.navigation3.navigation3-ui:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.navigation3.navigation3-runtime:1.0.0-alpha05") implementation("androidx.navigation3.navigation3-ui:1.0.0-alpha05") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Não há notas de versão para este artefato.
Versão 1.0
Versão 1.0.0-alpha05
2 de julho de 2025
Lançamento de androidx.navigation3:navigation3-*:1.0.0-alpha05
. A versão 1.0.0-alpha05 contém estas confirmações.
Mudanças de comportamento
- O estado do
NavEntry
agora é estritamente baseado na lista atual de decoradores transmitida aoNavDisplay
. Isso significa que os decoradores precisam ser trocados ao longo das backstacks no caso de várias backstacks para preservar o estado das NavEntries na backstack. Caso contrário, os estados serão limpos como se as entradas tivessem sido removidas (em vez de uma troca). (I7a759, b/428033667).
Versão 1.0.0-alpha04
18 de junho de 2025
Lançamento de androidx.navigation3:navigation3-*:1.0.0-alpha04
. A versão 1.0.0-alpha04 contém estas confirmações.
Mudanças na API
NavEntry.content
agora é particular. Para invocar o conteúdoNavEntry
, chame a nova APINavEntry.Content()
, que não exige mais um parâmetrokey
para ser invocada. (Icd0fd, b/420991203).NavEntry.key
agora é um campo particular. ONavEntry
e os estados relevantes dele precisam ser identificados pelo novo campocontentKey
, que é gerado pela nova lambdacontentKeyFactory
e usa por padrão um hash salvável gerado porNavEntry.key
(I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812).
Mudanças na dependência
- O Navigation3 agora depende do novo artefato
androidx.navigationevent.compose
.
Versão 1.0.0-alpha03
4 de junho de 2025
Lançamento de androidx.navigation3:navigation3-*:1.0.0-alpha03
. A versão 1.0.0-alpha03 contém estas confirmações.
Correções de bugs
- O
Navigation3
não vai mais limpar os estados do decorador parabackStacks
que foram trocados e substituídos por outra instância debackStack
. (I28a42, b/415076044).
Versão 1.0.0-alpha02
23 de maio de 2025
Lançamento de androidx.navigation3:navigation3-*:1.0.0-alpha02
. A versão 1.0.0-alpha02 contém estas confirmações.
Correções de bugs
- Foi corrigido um problema com o
SavedStateNavEntryDecorator
que causava colisões para diferentes classes de dados com os mesmos valores de propriedade. (b/418070648, Iff4775). - Correção de um problema de classe ausente que causava falhas ao executar sem declarar dependências explícitas. (b/419049149, I4b4ed)
Versão 1.0.0-alpha01
20 de maio de 2025
Lançamento de androidx.navigation3:navigation3-*:1.0.0-alpha01
. A versão 1.0.0-alpha01 contém estas confirmações.
Novos recursos
O Navigation3 é uma nova biblioteca de navegação criada especificamente para processar a navegação no app do Jetpack Compose. O artefato androidx.navigation3.runtime
fornece os blocos de construção, enquanto o artefato androidx.navigation3.ui
fornece a camada de UI pela API NavDisplay
. Os desenvolvedores podem fornecer o próprio estado diretamente à função combinável NavDisplay
, que muda o conteúdo com base nas mudanças no estado do desenvolvedor.
@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey
val backStack = rememberNavBackStack(Home)
NavDisplay(backStack, entryProvider = entryProvider {
entry<Home> {
Column {
Text(“Home”)
Button(onClick = { backStack.add(Chat) } ) {
Text(“Go to Chat”)
}
}
}
entry<Chat> { /* My Composable Content */ }
})
Para mais informações, consulte o guia Navigation3.