Navigazione 3

Navigation 3 è una libreria di navigazione progettata per funzionare con Compose. Con Navigation 3, hai il pieno controllo del back stack e puoi spostarti tra le destinazioni aggiungendo e rimuovendo elementi da un elenco. Crea un sistema di navigazione dell'app flessibile fornendo:

  • Convenzioni per la modellazione di un back stack, in cui ogni voce del back stack rappresenta i contenuti a cui l'utente ha eseguito la navigazione
  • Un'interfaccia utente che si aggiorna automaticamente con le modifiche del back stack (incluse le animazioni)
  • Un ambito per gli elementi nel back stack, che consente di conservare lo stato mentre un elemento si trova nel back stack
  • Un sistema di layout adattivo che consente di visualizzare più destinazioni contemporaneamente, consentendo di passare facilmente da un layout all'altro
  • Un meccanismo che consente ai contenuti di comunicare con il layout principale (metadati)
  • Comunicazione tra destinazioni per restituire risultati tra le schermate

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 un back stack in cui le chiavi vengono inserite e rimosse man mano che gli utenti navigano nella tua app. Vedi Creare un back stack.
  3. Utilizza un NavDisplay per visualizzare il back stack della tua app. Ogni volta che lo stack indietro cambia, l'interfaccia utente viene aggiornata per mostrare i contenuti pertinenti. Vedi Visualizzare lo stack precedente.
  4. Modifica le strategie di scena di NavDisplay in base alle esigenze per supportare layout adattivi e piattaforme diverse.
  5. Supporta i link diretti per passare direttamente alle destinazioni.

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

Miglioramenti rispetto a Jetpack Navigation

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

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

Scopri di più sui principi e sulle scelte di progettazione delle API di Navigation 3 nel post del blog dell'annuncio.

Esempi di codice

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