navigation3
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.
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 aNavDisplay
. 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 contenutiNavEntry
, chiama la nuova APINavEntry.Content()
, che non richiede più un parametrokey
per essere richiamata. (Icd0fd, b/420991203)NavEntry.key
ora è un campo privato.NavEntry
e i relativi stati devono essere identificati dal nuovo campocontentKey
, generato dalla nuova lambdacontentKeyFactory
e impostato per impostazione predefinita su un hash salvabile generato daNavEntry.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 perbackStacks
che sono stati sostituiti con un'altra istanza dibackStack
. (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.