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.
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
SwipeDismissFrameLayoutcome radice e utilizza manualmente l'azione di chiusura per tornare indietro nel grafico di navigazione. -
Implementa un
FragmentNavigatorpersonalizzato che esegua il rendering dei fragment uno sopra l'altro.