Navigazione

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

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

Design

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

Per iniziare, il launcher dell'app deve aprire il customer journey più comune. Progetta ogni customer journey con i contenuti più importanti in alto. Per i container verticali, utilizza la parte inferiore per collegarti ad altri customer journey meno comuni e alle impostazioni.

I contenuti principali sono l'attività corrente o la statistica di riepilogo più importante
Figura 1. Mantieni i contenuti più importanti nella parte superiore dei container verticali containers.

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 fragment
  • Jetpack Navigation

Solo attività

Poiché le schermate verticali sono in genere di un solo livello, puoi implementare tutte le schermate utilizzando le attività e senza utilizzare i fragment.

Consigliamo vivamente questo approccio. Semplifica il codice e le attività supportano automaticamente lo scorrimento per chiudere. Inoltre, semplifica l'implementazione della modalità Ambient.

Nota: se non utilizzi i fragment, fai in modo che le attività ereditino da ComponentActivity. Gli altri tipi di attività utilizzano elementi UI specifici per i dispositivi mobili di cui non hai bisogno per Wear OS.

Attività e fragment

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

Nota: se utilizzi i fragment, fai in modo che ereditino da FragmentActivity. Gli altri tipi di attività utilizzano elementi UI specifici per i dispositivi mobili di cui non hai bisogno per Wear OS.

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

  • Devi implementare autonomamente lo scorrimento per chiudere. In caso contrario, quando l'utente esegue uno scorrimento, esce dall'intera app.
  • Se utilizzi AmbientMode, devi personalizzarlo in modo che funzioni correttamente. AmbientMode è impostato sull'attività, quindi devi tenerne conto quando implementi i fragment.

Per supportare lo scorrimento per chiudere con i fragment, devi racchiudere la visualizzazione contenente il fragment nella classe SwipeDismissFrameLayout. Per ulteriori informazioni, consulta la sezione Gesto di scorrimento 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 fragment precedente viene visualizzato sotto il fragment principale mentre viene scorporato.

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 è in genere superficiale e lineare, non offre molti vantaggi. L'approccio basato solo sulle attività è il migliore.

Per sfruttare appieno Jetpack Navigation:

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