Navigation

Nachdem Sie einzelne Bildschirme für jede User Journey entworfen haben, haben Sie möglicherweise einige vertikale oder einzelne Bildschirme. Als Nächstes müssen Sie entscheiden, wie diese Bildschirme so gestaltet werden sollen, dass sie zusammen funktionieren, und wie die Navigation implementiert werden soll.

Design

Halten Sie die Hierarchie Ihrer App flach und linear, wie in den Richtlinien für das App-Design beschrieben.

Der Launcher Ihrer App sollte die gängigste User Journey öffnen. Gestalten Sie jede User Journey so, dass die wichtigsten Inhalte ganz oben stehen. Verlinke bei vertikalen Containern über die Unterseite Links zu anderen, weniger gängigen User Journeys und den Einstellungen.

Abbildung 1: Platzieren Sie die wichtigsten Inhalte oben in vertikalen Containern.

Wenn Nutzer einen deiner Bildschirme aufrufen, achte darauf, dass sie mit der Wischgeste zum Schließen im Back Stack nach unten gehen können.

Navigation implementieren

Beim Implementieren der Navigation stehen Ihnen drei Optionen zur Verfügung, die in den folgenden Abschnitten beschrieben werden:

  • Nur Aktivitäten; empfohlener Ansatz
  • Aktivitäten und Fragmente
  • Jetpack-Navigation

Nur Aktivitäten

Da vertikale Bildschirme normalerweise eine Ebene tief sind, können Sie alle Ihre Bildschirme mithilfe von Aktivitäten implementieren, ohne Fragmente zu verwenden.

Wir empfehlen diesen Ansatz dringend. Dies vereinfacht den Code und Aktivitäten unterstützen automatisch Zum Schließen wischen. Dies vereinfacht auch die Implementierung des Inaktivmodus.

Hinweis:Wenn Sie keine Fragmente verwenden, übernehmen Sie für Ihre Aktivitäten die Einstellungen einer ComponentActivity. Bei den anderen Aktivitätstypen werden für Mobilgeräte spezifische UI-Elemente verwendet, die du für Wear OS nicht benötigst.

Aktivitäten und Fragmente

Du kannst Fragmente mit Aktivitäten in deiner Wear OS-App verwenden. Wir raten jedoch davon ab, da die Verwendung von Fragmenten für eine flache und flache Architektur keinen klaren Vorteil bietet.

Hinweis:Wenn Sie Fragmente verwenden, müssen Sie dafür sorgen, dass sie von FragmentActivity übernommen werden. Für die anderen Aktivitätstypen werden für Mobilgeräte spezifische UI-Elemente verwendet, die du für Wear OS nicht benötigst.

Zu den Problemen bei der Verwendung von Fragmenten in Ihrer Wear OS-App gehören:

  • Sie müssen das Wischen zum Schließen selbst implementieren. Andernfalls wird die gesamte App beendet, wenn der Nutzer wischt.
  • Wenn Sie AmbientMode verwenden, müssen Sie es anpassen, damit es richtig funktioniert. AmbientMode ist für die Aktivität festgelegt, was Sie bei der Implementierung von Fragmenten berücksichtigen müssen.

Wenn Sie das Schließen durch Wischen mit Fragmenten unterstützen möchten, müssen Sie die Ansicht, die das Fragment enthält, in der Klasse SwipeDismissFrameLayout zusammenfassen. Weitere Informationen finden Sie unter Wischgeste zum Schließen. Auf diese Weise können Sie den Nutzern eine einheitliche Verwendung Ihrer App ermöglichen.

Hinweis:Wenn du Fragmente verwendest, solltest du FragmentManager.add statt FragmentManager.replace verwenden, um die Wischgeste zum Schließen zu unterstützen. So wird das vorherige Fragment unter dem oberen Fragment gerendert, während es weggewischt wird.

Jetpack-Navigation

Jetpack Navigation funktioniert unter Wear OS, hat aber dieselben Nachteile wie Fragmente. Dies erhöht den Entwicklungsaufwand. Da die Hierarchie einer Wear OS-App im Allgemeinen flach und linear ist, bietet sie kaum Vorteile. Am besten ist ein reiner Aktivitätsansatz.

So können Sie Jetpack Navigation in vollem Umfang nutzen:

  • Jedes Fragment muss ein SwipeDismissFrameLayout als Stamm enthalten. Mit der Aktion zum Schließen können Sie manuell zum Navigationsdiagramm zurückkehren.
  • Implementieren Sie ein benutzerdefiniertes FragmentNavigator, das Fragmente übereinander rendert.