Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Navigation 3 è una nuova libreria di navigazione progettata per funzionare con Compose. Con Navigation 3 hai il controllo completo sulla pila di navigazione precedente e passare alle destinazioni e tornare indietro è facile come aggiungere e rimuovere elementi da un elenco.
Crea un sistema di navigazione flessibile per le app fornendo:
Convenzioni per la modellazione di una serie di elementi Indietro, in cui ogni voce rappresenta i contenuti a cui l'utente ha eseguito la navigazione
Un'interfaccia utente che si aggiorna automaticamente con le modifiche alla pila di app precedenti (incluse le animazioni)
Un ambito per gli elementi nella pila posteriore, che consente di conservare lo stato mentre un elemento si trova nella pila posteriore
Un sistema di layout adattivo che consente di visualizzare più destinazioni contemporaneamente e di passare facilmente da un layout all'altro
Un meccanismo per consentire ai contenuti di comunicare con il layout principale (metadati)
A livello generale, puoi implementare la navigazione 3 nei seguenti modi:
Definisci i contenuti a cui gli utenti possono accedere nella tua app, ognuno con una chiave distinta, e aggiungi una funzione per risolvere la chiave in base ai contenuti. Consulta l'articolo Risolvere i problemi relativi alle chiavi
nei contenuti.
Crea una serie di elementi precedenti in cui le chiavi vengono inserite e rimosse man mano che gli utenti navigano nella tua app. Consulta Creare una serie di elementi precedenti.
Usa un NavDisplay per visualizzare la pila di app precedenti. Ogni volta che la pila interna cambia, l'interfaccia utente viene aggiornata per visualizzare i contenuti pertinenti. Vedi Visualizzare la pila precedente.
Modifica le strategie di scena di NavDisplay in base alle esigenze per supportare layout adattabili e piattaforme diverse.
Navigation 3 migliora l'API Jetpack Navigation originale nei seguenti modi:
Offre un'integrazione più semplice con Compose
Offre il controllo completo della pila precedente
Consente di creare layout che possono leggere contemporaneamente più destinazioni dall'elenco di app precedenti, adattandosi alle modifiche delle dimensioni della finestra e di altri input.
Scopri di più sui principi e sulle scelte di progettazione dell'API di Navigation 3 in questo post del blog.
Esempi di codice
Il repository di ricette contiene esempi di come utilizzare i componenti di base di Navigation 3 per risolvere i problemi di navigazione più comuni.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# Navigation 3\n\n| **Experimental:** Navigation 3 is in alpha. The APIs may change in the future. Please file bugs and feedback using the [issue tracker](https://issuetracker.google.com/issues/new?component=1750212&template=2102223).\n\nNavigation 3 is a new navigation library designed to work with Compose. With\nNavigation 3, you have full control over your back stack, and navigating to and\nfrom destinations is as simple as adding and removing items from a list. It\ncreates a flexible app navigation system by providing:\n\n- Conventions for modeling a back stack, where each entry on the back stack represents content that the user has navigated to\n- A UI that automatically updates with back stack changes (including animations)\n- A scope for items in the back stack, allowing state to be retained while an item is in the back stack\n- An adaptive layout system that allows multiple destinations to be displayed at the same time, and allowing seamless switching between those layouts\n- A mechanism for content to communicate with its parent layout (metadata)\n\nAt a high level, you implement Navigation 3 in the following ways:\n\n1. Define the content that users can navigate to in your app, each with a unique key, and add a function to resolve that key to the content. See [Resolve keys\n to content](/guide/navigation/navigation-3/basics#resolve-keys).\n2. Create a back stack that keys are pushed onto and removed as users navigate your app. See [Create a back stack](/guide/navigation/navigation-3/basics#create-back).\n3. Use a [`NavDisplay`](/reference/kotlin/androidx/navigation3/ui/package-summary#NavDisplay(kotlin.collections.List,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.Function1,kotlin.collections.List,androidx.navigation3.ui.SceneStrategy,androidx.compose.animation.SizeTransform,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1)) to display your app's back stack. Whenever the back stack changes, it updates the UI to display relevant content. See [Display\n the back stack](/guide/navigation/navigation-3/basics#display-back).\n4. Modify `NavDisplay`'s [scene strategies](/guide/navigation/navigation-3/custom-layouts) as needed to support adaptive layouts and different platforms.\n\nYou can see the [full source code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:navigation3/) for Navigation 3 on AOSP.\n\nImprovements upon Jetpack Navigation\n------------------------------------\n\nNavigation 3 improves upon the original Jetpack Navigation API in the following\nways:\n\n- Provides a simpler integration with Compose\n- Offers you full control of the back stack\n- Makes it possible to create layouts that can read more than one destination from the back stack at the same time, allowing them to adapt to changes in window size and other inputs.\n\nRead more about Navigation 3's principles and API design choices in [this blog\npost](https://android-developers.googleblog.com/2025/05/announcing-jetpack-navigation-3-for-compose.html).\n\nCode samples\n------------\n\nThe [recipes repository](https://github.com/android/nav3-recipes) contains examples of how to use the\nNavigation 3 building blocks to solve common navigation challenges."]]