navigation3

  
A Navigation 3 é uma nova biblioteca de navegação projetada para funcionar com o Compose.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
18 de junho de 2025 - - - 1.0.0-alpha04

Declarar dependências

Para adicionar uma dependência à 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-alpha04"
    implementation "androidx.navigation3.navigation3-ui:1.0.0-alpha04"
}

Kotlin

dependencies {
    implementation("androidx.navigation3.navigation3-runtime:1.0.0-alpha04")
    implementation("androidx.navigation3.navigation3-ui:1.0.0-alpha04")
}

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.

Criar novo problema

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-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údo NavEntry, chame a nova API NavEntry.Content(), que não precisa mais de um parâmetro key para invocação. (Icd0fd, b/420991203).
  • NavEntry.key agora é um campo particular. A NavEntry e os estados relevantes dela precisam ser identificados pelo novo campo contentKey, que é gerado a partir da nova lambda contentKeyFactory e é definido como padrão como um hash salvável gerado a partir de NavEntry.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 para backStacks que foram trocados e substituídos por outra instância de backStack. (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 ser executado 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

A 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 interface usando a 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 da Navigation3.