Navigation

Compose ausprobieren
Jetpack Compose für Wear OS ist das empfohlene UI-Toolkit für Wear OS.

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 zusammenarbeiten 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 den häufigsten Nutzerpfad öffnen. Gestalten Sie jeden Nutzerpfad so, dass die wichtigsten Inhalte oben stehen. Verwenden Sie bei vertikalen Containern den unteren Bereich, um auf andere, weniger häufige User Journeys und die Einstellungen zu verlinken.

Abbildung 1. Die wichtigsten Inhalte sollten sich oben in vertikalen Containern befinden.

Wenn Nutzer einen Ihrer Bildschirme aufrufen, müssen sie mit der Wischgeste zum Schließen nach unten im Backstack navigieren können.

Navigation implementieren

Bei der Implementierung der Navigation haben Sie drei Möglichkeiten, die in den folgenden Abschnitten beschrieben werden:

  • Nur Aktivitäten (empfohlen)
  • Aktivitäten und Fragmente
  • Jetpack Navigation

Nur Aktivitäten

Da vertikale Bildschirme in der Regel nur eine Ebene tief sind, können Sie alle Bildschirme mit Aktivitäten und ohne Verwendung von Fragmenten implementieren.

Wir empfehlen diesen Ansatz dringend. Dadurch wird Ihr Code vereinfacht und Aktivitäten unterstützen automatisch Wischen zum Schließen. Das vereinfacht auch die Implementierung des Inaktivmodus.

Hinweis:Wenn Sie keine Fragmente verwenden, müssen Ihre Aktivitäten von ComponentActivity abgeleitet werden. Die anderen Aktivitätstypen verwenden mobile UI-Elemente, die Sie für Wear OS nicht benötigen.

Aktivitäten und Fragmente

Sie können Fragmente mit Aktivitäten in Ihrer Wear OS-App verwenden. Wir empfehlen dies jedoch nicht, da die Verwendung von Fragmenten zur Erstellung einer flachen Architektur keinen klaren Vorteil bietet.

Hinweis:Wenn Sie Fragmente verwenden, müssen diese von FragmentActivity abgeleitet werden. Die anderen Aktivitätstypen verwenden mobilgerätespezifische UI-Elemente, die Sie für Wear OS nicht benötigen.

Die Verwendung von Fragmenten in Ihrer Wear OS-App kann unter anderem folgende Schwierigkeiten mit sich bringen:

  • Sie müssen die Funktion „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 wird für die Aktivität festgelegt. Das müssen Sie bei der Implementierung von Fragmenten berücksichtigen.

Wenn Sie das Schließen durch Wischen mit Fragmenten unterstützen möchten, müssen Sie die Ansicht, die das Fragment enthält, in die Klasse SwipeDismissFrameLayout einfügen. Weitere Informationen finden Sie unter Geste „Zum Schließen wischen“. So können Sie Nutzern eine einheitliche Erfahrung mit Ihrer App bieten.

Hinweis:Wenn Sie Fragmente verwenden, nutzen Sie FragmentManager.add anstelle von FragmentManager.replace, um die Wischgeste zum Schließen zu unterstützen. So wird dafür gesorgt, dass das vorherige Fragment unter dem oberen Fragment gerendert wird, während es weggewischt wird.

Jetpack Navigation

Jetpack Navigation kann auf Wear OS verwendet werden, hat aber dieselben Nachteile wie Fragmente. Das erfordert zusätzlichen Entwicklungsaufwand und bietet nicht viele Vorteile, da die Hierarchie einer Wear OS-App in der Regel flach und linear ist. Am besten ist ein reiner Aktivitätsansatz.

So nutzen Sie Jetpack Navigation optimal:

  • Achten Sie darauf, dass jedes Fragment SwipeDismissFrameLayout als Stamm verwendet und die Aktion „Schließen“ manuell verwendet wird, um im Navigationsdiagramm zurückzugehen.
  • Implementieren Sie ein benutzerdefiniertes FragmentNavigator, das Fragmente übereinander rendert.