Navigazione 3

Navigation 3 è una nuova libreria di navigazione progettata per funzionare con Compose. Con Navigation 3, hai il controllo completo dello stack precedente e la navigazione verso e dalle destinazioni è semplice come aggiungere e rimuovere elementi da un elenco. Crea un sistema di navigazione flessibile per le app fornendo:

  • Convenzioni per la modellazione di uno stack indietro, in cui ogni voce dello stack indietro rappresenta i contenuti a cui l'utente ha navigato
  • Un'interfaccia utente che si aggiorna automaticamente con le modifiche dello stack precedente (incluse le animazioni)
  • Un ambito per gli elementi nello stack precedente, che consente di conservare lo stato mentre un elemento si trova nello stack precedente
  • Un sistema di layout adattivo che consente di visualizzare più destinazioni contemporaneamente e di passare facilmente da un layout all'altro.
  • Un meccanismo che consente ai contenuti di comunicare con il layout principale (metadati)

A livello generale, implementi Navigation 3 nei seguenti modi:

  1. Definisci i contenuti a cui gli utenti possono accedere nella tua app, ognuno con una chiave univoca, e aggiungi una funzione per risolvere la chiave nei contenuti. Consulta Risolvere i problemi relativi alle chiavi per i contenuti.
  2. Crea uno stack indietro in cui le chiavi vengono inserite e rimosse man mano che gli utenti navigano nella tua app. Vedi Creare uno stack indietro.
  3. Utilizza un NavDisplay per visualizzare lo stack indietro della tua app. Ogni volta che lo stack indietro cambia, l'interfaccia utente viene aggiornata per visualizzare i contenuti pertinenti. Consulta Visualizzare la cronologia.
  4. Modifica le strategie di scena di NavDisplay in base alle esigenze per supportare layout adattivi e piattaforme diverse.

Puoi visualizzare il codice sorgente completo di Navigation 3 su AOSP.

Miglioramenti alla navigazione Jetpack

Navigation 3 migliora l'API Jetpack Navigation originale nei seguenti modi:

  • Fornisce un'integrazione più semplice con Compose
  • Ti offre il controllo completo dello stack precedente
  • Consente di creare layout in grado di leggere più di una destinazione dalla cronologia recente contemporaneamente, consentendo loro di adattarsi alle modifiche delle dimensioni della finestra e di altri input.

Scopri di più sui principi e sulle scelte di progettazione dell'API Navigation 3 in questo post del blog.

Esempi di codice

Il repository delle ricette contiene esempi di come utilizzare i componenti predefiniti di Navigation 3 per risolvere problemi di navigazione comuni.