Dopo aver progettato singole schermate per ogni percorso utente, potresti avere alcune schermate verticali o singole. A questo punto, devi decidere come progettare queste schermate in modo che funzionino insieme e come implementare la navigazione.
Design
Mantieni la gerarchia dell'app poco profonda e lineare, come indicato nelle linee guida per il design delle app.
Per iniziare, il programma di avvio dell'app dovrebbe aprire il percorso utente più comune. Progetta ogni percorso dell'utente con i contenuti più importanti in alto. Per i contenitori verticali, utilizza la parte inferiore per collegarti ad altri percorsi utente meno comuni e alle impostazioni.
Quando gli utenti accedono a una delle tue schermate, assicurati che possano utilizzare il gesto di scorrimento per ignorare per spostarsi verso il basso nella pila di ritorno.
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é le schermate verticali sono in genere di un livello, puoi implementare tutte le schermate utilizzando le attività e senza utilizzare i frammenti.
Ti consigliamo vivamente di adottare questo approccio. Semplifica il codice e le attività supportano automaticamente la funzionalità Scorri per ignorare. Inoltre, semplifica l'implementazione della modalità Ambient.
Nota:fai in modo che le tue attività ereditino da un ComponentActivity
se non utilizzi i frammenti. 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 frammenti con le attività nella tua app Wear OS. Tuttavia, sconsigliamo questa opzione, in quanto non esiste un vantaggio evidente nell'utilizzo dei frammenti per creare un'architettura semplice e piatta.
Nota:se utilizzi i frammenti, impostali in modo che ereditino da FragmentActivity
. Gli altri tipi di attività utilizzano elementi dell'interfaccia utente specifici per il mobile che non sono necessari per Wear OS.
Ecco alcune delle difficoltà che si possono incontrare nell'utilizzo dei frammenti nell'app per Wear OS:
- Devi implementare lo scorrimento per chiudere. In caso contrario, quando l'utente esegue un scorrimento, esce dall'intera app.
-
Se utilizzi
AmbientMode
, devi personalizzarlo affinché funzioni correttamente.AmbientMode
è impostato sull'attività, quindi devi tenerlo conto quando implementi i frammenti.
Per supportare lo scorrimento per chiudere con i frammenti, devi racchiudere la vista contenente i frammenti nella classe SwipeDismissFrameLayout
. Per ulteriori informazioni, consulta la sezione Gesto di scorrimento per chiudere. In questo modo, offri agli utenti un'esperienza coerente con la tua app.
Nota: quando utilizzi i frammenti, 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 scorretto.
Jetpack Navigation
Jetpack Navigation può funzionare su Wear OS, ma presenta gli stessi svantaggi dei frammenti. Aumenta il lavoro di sviluppo e, poiché la gerarchia di un'app per Wear OS è generalmente poco profonda e lineare, non offre molti vantaggi. È preferibile un approccio solo per attività.
Per sfruttare appieno Jetpack Navigation:
-
Assicurati che ogni frammento utilizzi un
SwipeDismissFrameLayout
come elemento principale e utilizza manualmente l'azione di dismissione per tornare indietro nel grafico di navigazione. -
Implementa un personalizzato
FragmentNavigator
che mostra i frammenti uno sopra l'altro.