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