Nawigacja

Wypróbuj tworzenie wiadomości
Jetpack Compose na Wear OS to zalecany pakiet narzędzi do tworzenia interfejsu na Wear OS.

Po zaprojektowaniu poszczególnych ekranów dla każdej ścieżki użytkownika możesz mieć kilka ekranów pionowych lub jeden ekran. Następnie musisz zdecydować, jak zaprojektować te ekrany, aby ze sobą współpracowały, i jak wdrożyć nawigację.

Projektowanie

Utrzymaj hierarchię aplikacji na niskim poziomie i w postaci liniowej, zgodnie z wytycznymi dotyczącymi projektowania aplikacji.

Na początek uruchom aplikację, aby otworzyć najczęstszą ścieżkę użytkownika. Zaprojektuj każdą ścieżkę użytkownika, umieszczając na górze najważniejsze treści. W przypadku kontenerów pionowych możesz użyć dołu, aby połączyć je z innymi, rzadziej wybieranymi ścieżkami użytkowników i ustawieniami.

Rysunek 1. Najważniejsze treści umieść u góry kontenerów pionowych.

Gdy użytkownicy wejdą na jeden z ekranów, upewnij się, że mogą użyć gestu przesunięcia palcem, aby zamknąć dany ekran i wrócić do grupy poprzednich ekranów.

Implementacja nawigacji

Podczas implementowania nawigacji masz 3 opcje, opisane w następnych sekcjach:

  • tylko aktywności (zalecane podejście);
  • Aktywności i fragmenty
  • Nawigacja w Jetpacku

Tylko działania

Ekrany pionowe są zwykle umieszczone na tym samym poziomie, dlatego możesz zaimplementować wszystkie ekrany za pomocą działań bez użycia fragmentów.

Zdecydowanie zalecamy to podejście. Upraszcza kod i automatycznie obsługuje przesuwanie w dół w celu zamknięcia. Dzięki temu łatwiej będzie też wdrażać tryb otoczenia.

Uwaga: jeśli nie używasz fragmentów, sprawdź, czy Twoje działania dziedziczą z poziomu ComponentActivity. Inne typy aktywności korzystają z elementów interfejsu użytkownika dostosowanego do urządzeń mobilnych, których nie potrzebujesz w przypadku Wear OS.

Aktywności i fragmenty

W aplikacji na Wear OS możesz używać fragmentów z działaniami, ale nie zalecamy tego, ponieważ nie ma wyraźnej zalety korzystania z fragmentów w celu utworzenia płytkiej i płaskiej architektury.

Uwaga: jeśli używasz fragmentów, spraw, aby dziedziczyły one z FragmentActivity. Inne typy aktywności używają elementów interfejsu przeznaczonych do urządzeń mobilnych, których nie potrzebujesz w przypadku Wear OS.

Oto niektóre trudności związane z korzystaniem z fragmentów w aplikacji na Wear OS:

  • Musisz samodzielnie wdrożyć funkcję usuwania przez przesunięcie. W przeciwnym razie, gdy użytkownik wykona gest przesunięcia, zamknie całą aplikację.
  • Jeśli używasz usługi AmbientMode, musisz ją dostosować, aby działała prawidłowo. Aktywność ma ustawioną wartość AmbientMode, więc musisz to wziąć pod uwagę podczas implementowania fragmentów.

Aby umożliwić usuwanie elementów za pomocą przesunięcia, musisz opakować widok zawierający fragmenty w klasie SwipeDismissFrameLayout. Więcej informacji znajdziesz w sekcji Gest przesunięcia palcem, aby zamknąć. Dzięki temu użytkownicy będą mieli spójne wrażenia z Twojej aplikacji.

Uwaga: aby obsługiwać gest przesunięcia w bok, użyj fragmentu FragmentManager.add zamiast fragmentu FragmentManager.replace. Dzięki temu poprzedni fragment będzie renderowany pod górnym fragmentem, gdy będziesz go przesuwać.

Nawigacja w Jetpacku

Nawigacja Jetpack może działać na Wear OS, ale ma te same wady co fragmenty. Wymaga to dodatkowej pracy programistycznej, a hierarchia aplikacji na Wear OS jest zazwyczaj płytka i prosta, więc nie daje wielu korzyści. Najlepiej jest stosować podejście oparte tylko na aktywności.

Aby w pełni wykorzystać możliwości Nawigacji Jetpacka:

  • Upewnij się, że każdy fragment używa jako elementu wierzchołowego elementu SwipeDismissFrameLayout i ręcznie użyj działania odrzucania, aby wrócić w grafu nawigacji.
  • Wdrożyć niestandardowy element, FragmentNavigator który renderuje fragmenty jeden na drugim.