Nachdem Sie einzelne Bildschirme für jeden Nutzerpfad 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.
Zu Beginn sollte der Launcher Ihrer App den häufigsten Nutzerpfad öffnen. Gestalten Sie jeden Nutzerpfad so, dass die wichtigsten Inhalte oben stehen. Verwenden Sie für vertikale Container den unteren Bereich, um zu anderen, weniger häufigen Nutzerpfaden und den Einstellungen zu verlinken.
Wenn Nutzer einen Ihrer Bildschirme aufrufen, müssen sie mit der Wischgeste zum Schließen nach unten im Back-Stack 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 (empfohlener Ansatz)
- 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 Fragmente implementieren.
Wir empfehlen diesen Ansatz dringend. Er vereinfacht Ihren Code und Aktivitäten unterstützen automatisch die Wischgeste zum Schließen. Außerdem wird die Implementierung des Umgebungsmodus vereinfacht.
Hinweis: Lassen Sie Ihre Aktivitäten von einer
ComponentActivity erben, wenn
Sie keine Fragmente verwenden. 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 es keinen klaren Vorteil bietet, Fragmente zum Erstellen einer flachen Architektur zu verwenden.
Hinweis: Wenn Sie Fragmente verwenden, lassen Sie sie von
FragmentActivity erben. Die
anderen Aktivitätstypen verwenden mobile UI-Elemente, die Sie für Wear OS nicht benötigen.
Einige der Schwierigkeiten bei der Verwendung von Fragmenten in Ihrer Wear OS-App sind:
- Sie müssen die Wischgeste zum Schließen selbst implementieren. Andernfalls beendet der Nutzer mit einer Wischgeste die gesamte App.
-
Wenn Sie
AmbientModeverwenden, müssen Sie ihn anpassen, damit er richtig funktioniert.AmbientModewird für die Aktivität festgelegt. Das müssen Sie bei der Implementierung von Fragmenten berücksichtigen.
Wenn Sie die Wischgeste zum Schließen mit Fragmenten unterstützen möchten, müssen Sie die Ansicht, die das Fragment enthält,
in die
SwipeDismissFrameLayout
Klasse einfügen. Weitere Informationen finden Sie unter
Wischgeste zum Schließen. So bieten Sie Nutzern eine einheitliche Nutzererfahrung mit Ihrer App.
Hinweis: Verwenden Sie bei der Verwendung von Fragmenten
FragmentManager.add
anstelle von
FragmentManager.replace, um die Wischgeste zum Schließen zu unterstützen.
So wird sichergestellt, dass Ihr vorheriges Fragment unter dem oberen Fragment gerendert wird, während es weggewischt wird.
Jetpack Navigation
Jetpack Navigation kann auf Wear OS funktionieren, hat aber die gleichen Nachteile wie Fragmente. Es erfordert zusätzlichen Entwicklungsaufwand und bietet aufgrund der in der Regel flachen und linearen Hierarchie einer Wear OS-App nicht viele Vorteile. Ein Ansatz, der nur Aktivitäten verwendet, ist am besten.
So nutzen Sie Jetpack Navigation optimal:
-
Jedes Fragment muss
SwipeDismissFrameLayoutals Stamm verwenden. Verwenden Sie die Aktion zum Schließen manuell, um im Navigationsdiagramm zurückzugehen. -
Implementieren Sie einen benutzerdefinierten
FragmentNavigatorder Fragmente übereinander rendert.