Navigazione

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

Design

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

Per iniziare, Avvio app dell'app dovrebbe aprire il percorso dell'utente più comune. Progetta ogni percorso dell'utente con i contenuti più importanti in alto. Per i container verticali, utilizza la parte inferiore per rimandare ad altri percorsi degli utenti meno comuni e alle relative impostazioni.

Figura 1. Colloca 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 ignorare per spostarsi verso il basso nell'elenco filtri.

Implementa la navigazione

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

  • Solo attività, che è l'approccio consigliato
  • Attività e frammenti
  • Navigazione con jetpack

Solo attività

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

Consigliamo vivamente questo approccio. Semplifica il codice e le attività supportano automaticamente la funzionalità scorri per ignorare. Ciò semplifica anche l'implementazione della modalità Ambient.

Nota:fai in modo che le tue attività ereditino da una ComponentActivity se non utilizzi i frammenti. Gli altri tipi di attività utilizzano elementi UI specifici per dispositivi mobili non necessari per Wear OS.

Attività e frammenti

Puoi utilizzare i frammenti con le attività nella tua app per Wear OS. Tuttavia, sconsigliamo questa operazione, poiché non esiste un chiaro vantaggio nell'utilizzo dei frammenti per creare un'architettura superficiale e piatta.

Nota: se utilizzi frammenti, impostali per ereditarli da FragmentActivity. Gli altri tipi di attività utilizzano elementi UI specifici per dispositivi mobili non necessari per Wear OS.

Ecco alcune difficoltà relative all'utilizzo dei frammenti nell'app per Wear OS:

  • Devi implementare la funzionalità di scorrimento per ignorare. Altrimenti, quando l'utente esegue uno scorrimento, esce dall'intera app.
  • Se utilizzi AmbientMode, devi personalizzarlo affinché funzioni correttamente. AmbientMode è impostato sull'attività, quindi devi tenerlo in considerazione quando implementi i frammenti.

Per supportare la funzionalità di scorrimento per ignorare con i frammenti, devi aggregare la visualizzazione contenente frammenti nella classe SwipeDismissFrameLayout. Per ulteriori informazioni, consulta la sezione Gesto di scorrimento per ignorare. In questo modo gli utenti avranno un'esperienza coerente con la tua app.

Nota:quando usi i frammenti, usa FragmentManager.add anziché FragmentManager.replace per supportare il gesto di scorrimento per ignorare. Ciò aiuta a garantire che il frammento precedente venga visualizzato sotto il frammento superiore mentre viene fatto scorrere via.

Navigazione con jetpack

Jetpack Navigation può funzionare su Wear OS, ma presenta gli stessi svantaggi dei frammenti. Aggiunge lavoro di sviluppo e, poiché la gerarchia di un'app per Wear OS è generalmente superficiale e lineare, non offre molti vantaggi. Un approccio basato solo sulle attività è l'ideale.

Per sfruttare al meglio Jetpack Navigation, procedi nel seguente modo:

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