Navigazione

Prova Compose
Jetpack Compose su Wear OS è il toolkit UI consigliato per Wear OS.

Dopo aver progettato le singole schermate per ogni percorso utente, potresti avere alcune schermate verticali o singole. Successivamente, devi decidere come progettare queste schermate in modo che funzionino insieme e come implementare la navigazione.

Design

Mantieni la gerarchia dell'app semplice e lineare, come indicato nelle linee guida per la progettazione di app.

Per iniziare, l'Avvio app deve aprire il percorso utente più comune. Progetta ogni percorso dell'utente con i contenuti più importanti nella parte superiore. Per i contenitori verticali, utilizza la parte inferiore per collegarti ad altri percorsi utente meno comuni e alle impostazioni.

Figura 1. Mantenere i contenuti più importanti nella parte superiore dei contenitori verticali.

Quando gli utenti accedono a una delle tue schermate, assicurati che possano utilizzare il gesto di scorrimento per chiudere per navigare verso il basso nello stack indietro.

Implementare la navigazione

Quando implementi la navigazione, hai tre opzioni, descritte nelle sezioni seguenti:

  • Solo attività, che è l'approccio consigliato
  • Attività e frammenti
  • Jetpack Navigation

Solo attività

Poiché gli schermi verticali hanno in genere un solo livello di profondità, puoi implementare tutti gli schermi utilizzando le attività e senza utilizzare i fragment.

Ti consigliamo vivamente questo approccio. Semplifica il codice e le attività supportano automaticamente lo scorrimento per chiudere. In questo modo, inoltre, l'implementazione della modalità Ambient è più semplice.

Nota: fai in modo che le tue attività ereditino da un ComponentActivity se non utilizzi i fragment. Gli altri tipi di attività utilizzano elementi dell'interfaccia utente specifici per il mobile che non ti servono per Wear OS.

Attività e frammenti

Puoi utilizzare i fragment con le attività nella tua app per Wear OS. Tuttavia, non lo consigliamo, in quanto non esiste un vantaggio evidente nell'utilizzo dei fragment per creare un'architettura superficiale e piatta.

Nota:se utilizzi i fragment, falli ereditare da FragmentActivity. Gli altri tipi di attività utilizzano elementi dell'interfaccia utente specifici per il mobile che non ti servono per Wear OS.

Alcune difficoltà nell'utilizzo dei fragment nell'app per Wear OS includono:

  • Devi implementare autonomamente lo scorrimento per chiudere. Altrimenti, quando l'utente esegue uno swipe, esce dall'intera app.
  • Se utilizzi AmbientMode, devi personalizzarlo per farlo funzionare correttamente. AmbientMode è impostato sull'attività, quindi devi tenerne conto quando implementi i frammenti.

Per supportare lo scorrimento per chiudere con i fragment, devi racchiudere la visualizzazione contenente il fragment nella classe SwipeDismissFrameLayout. Per saperne di più, consulta la sezione Scorrere per chiudere. In questo modo, gli utenti avranno un'esperienza coerente con la tua app.

Nota:quando utilizzi i fragment, usa FragmentManager.add anziché FragmentManager.replace per supportare il gesto di scorrimento per chiudere. In questo modo, il frammento precedente viene visualizzato sotto il frammento superiore mentre viene eliminato con uno scorrimento.

Jetpack Navigation

Jetpack Navigation può funzionare su Wear OS, ma presenta gli stessi svantaggi dei fragment. Aggiunge lavoro di sviluppo e, poiché la gerarchia di un'app Wear OS è generalmente superficiale e lineare, non offre molti vantaggi. L'approccio migliore è quello basato solo sull'attività.

Per sfruttare al meglio Jetpack Navigation:

  • Assicurati che ogni frammento utilizzi un SwipeDismissFrameLayout come radice e utilizza manualmente l'azione di chiusura per tornare indietro nel grafico di navigazione.
  • Implementa un FragmentNavigator personalizzato che esegue il rendering dei frammenti uno sopra l'altro.