navigation3

  
Navigation 3 è una nuova libreria di navigazione progettata per funzionare con Compose.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Alpha Release
2 luglio 2025 - - - 1.0.0-alpha05

Dichiarazione di dipendenze

Per aggiungere una dipendenza da navigation3, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti che ti servono nel file build.gradle per la tua app o il tuo modulo:

Alla moda

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")
}

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Non sono disponibili note di rilascio per questo artefatto.

Versione 1.0

Versione 1.0.0-alpha05

2 luglio 2025

androidx.navigation3:navigation3-*:1.0.0-alpha05 viene ritirata. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche al comportamento

  • Lo stato di NavEntry ora si basa rigorosamente sull'elenco corrente dei decoratori passati a NavDisplay. Ciò significa che i decoratori devono essere scambiati lungo gli stack precedenti in caso di più stack precedenti per preservare lo stato delle NavEntry nello stack precedente. In caso contrario, gli stati verranno cancellati come se le voci fossero state estratte (anziché scambiate). (I7a759, b/428033667)

Versione 1.0.0-alpha04

18 giugno 2025

androidx.navigation3:navigation3-*:1.0.0-alpha04 viene ritirata. La versione 1.0.0-alpha04 contiene questi commit.

Modifiche alle API

  • NavEntry.content è ora privato. Per richiamare i contenuti NavEntry, chiama la nuova API NavEntry.Content(), che non richiede più un parametro key per essere richiamata. (Icd0fd, b/420991203)
  • NavEntry.key ora è un campo privato. NavEntry e i relativi stati devono essere identificati dal nuovo campo contentKey, generato dalla nuova lambda contentKeyFactory e impostato per impostazione predefinita su un hash salvabile generato da NavEntry.key (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812)

Modifiche alle dipendenze

  • Navigation3 ora dipende dal nuovo artefatto androidx.navigationevent.compose.

Versione 1.0.0-alpha03

4 giugno 2025

androidx.navigation3:navigation3-*:1.0.0-alpha03 viene ritirata. La versione 1.0.0-alpha03 contiene questi commit.

Correzioni di bug

  • Navigation3 non cancellerà più gli stati dei decoratori per backStacks che sono stati sostituiti con un'altra istanza di backStack. (I28a42, b/415076044)

Versione 1.0.0-alpha02

23 maggio 2025

androidx.navigation3:navigation3-*:1.0.0-alpha02 viene ritirata. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema con SavedStateNavEntryDecorator che causava conflitti per diverse classi di dati con gli stessi valori delle proprietà. (b/418070648, Iff4775)
  • È stato risolto un problema relativo a una classe mancante che causava arresti anomali durante l'esecuzione senza dichiarare dipendenze esplicite. (b/419049149, I4b4ed)

Versione 1.0.0-alpha01

20 maggio 2025

androidx.navigation3:navigation3-*:1.0.0-alpha01 viene ritirata. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Navigation3 è una nuova libreria di navigazione creata appositamente per gestire la navigazione in-app di Jetpack Compose. L'artefatto androidx.navigation3.runtime fornisce i blocchi predefiniti, mentre l'artefatto androidx.navigation3.ui fornisce il livello UI tramite l'API NavDisplay. Gli sviluppatori possono fornire il proprio stato direttamente alla funzione componibile NavDisplay, che modifica i contenuti in base alle modifiche dello stato dello sviluppatore.

@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 */ }
})

Per saperne di più, consulta la guida Navigation3.