Nawigacja

Wypróbuj metodę Compose
Jetpack Compose na Wear OS to zalecany zestaw narzędzi do tworzenia interfejsu Wear OS.

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

Projektowanie

Zadbaj o to, aby hierarchia aplikacji była płytka i liniowa, zgodnie z wytycznymi dotyczącymi projektowania aplikacji.

Na początek program uruchamiający aplikację powinien otwierać najczęstszą ścieżkę użytkownika. Projektuj każdą ścieżkę użytkownika, umieszczając najważniejsze treści na górze. W przypadku kontenerów pionowych użyj dolnej części, aby połączyć się z innymi, mniej typowymi ścieżkami użytkownika i ustawieniami.

Rysunek 1. Najważniejsze treści powinny znajdować się u góry kontenerów pionowych.

Gdy użytkownicy wchodzą na jeden z Twoich ekranów, upewnij się, że mogą używać gestu przesuwania, aby zamknąć ekran i przejść do poprzedniego ekranu na stosie wstecznym.

Wdrażanie nawigacji

Podczas wdrażania nawigacji masz 3 opcje opisane w sekcjach poniżej:

  • tylko aktywności (zalecane podejście);
  • Aktywności i fragmenty
  • Jetpack Navigation

Tylko aktywności

Ekrany pionowe mają zwykle jeden poziom, więc możesz zaimplementować wszystkie ekrany za pomocą aktywności i bez używania fragmentów.

Zdecydowanie zalecamy to podejście. Upraszcza kod, a aktywności automatycznie obsługują zamykanie gestem. Ułatwia to też wdrożenie dźwięków otoczenia.

Uwaga: jeśli nie używasz fragmentów, ustaw dziedziczenie aktywności z klasy ComponentActivity. Pozostałe typy aktywności korzystają z elementów interfejsu dostosowanych do urządzeń mobilnych, które nie są potrzebne w przypadku Wear OS.

Aktywności i fragmenty

W aplikacji na Wear OS możesz używać fragmentów z aktywnościami. Nie zalecamy jednak tego rozwiązania, ponieważ nie ma wyraźnych korzyści z używania fragmentów do tworzenia płytkiej i płaskiej architektury.

Uwaga: jeśli używasz fragmentów, spraw, aby dziedziczyły po FragmentActivity. Pozostałe typy aktywności korzystają z elementów interfejsu dostosowanych do urządzeń mobilnych, które nie są potrzebne w przypadku Wear OS.

Korzystanie z fragmentów w aplikacji na Wear OS może być trudne z tych powodów:

  • Musisz samodzielnie wdrożyć funkcję przesuwania w celu zamknięcia. W przeciwnym razie, gdy użytkownik przesunie palcem, zamknie całą aplikację.
  • Jeśli korzystasz z AmbientMode, musisz dostosować tę usługę, aby działała prawidłowo. AmbientMode jest ustawiony w aktywności, więc musisz wziąć to pod uwagę podczas wdrażania fragmentów.

Aby obsługiwać zamykanie fragmentów przez przesunięcie, musisz umieścić widok zawierający fragment w klasie SwipeDismissFrameLayout. Więcej informacji znajdziesz w sekcji Gest przesuwania palcem, aby zamknąć. Dzięki temu użytkownicy będą mogli korzystać z aplikacji w spójny sposób.

Uwaga: podczas korzystania z fragmentów używaj FragmentManager.add zamiast FragmentManager.replace w celu obsługi gestu przesuwania w celu zamknięcia. Dzięki temu poprzedni fragment będzie renderowany pod górnym fragmentem podczas przesuwania.

Jetpack Navigation

Biblioteka Jetpack Navigation może działać w Wear OS, ale ma te same wady co fragmenty. Wymaga to dodatkowej pracy deweloperskiej, a ponieważ hierarchia aplikacji na Wear OS jest zwykle płytka i liniowa, nie daje to wielu korzyści. Najlepsze jest podejście oparte wyłącznie na aktywności.

Aby w pełni wykorzystać nawigację Jetpack, wykonaj te czynności:

  • Upewnij się, że każdy fragment używa elementu SwipeDismissFrameLayout jako elementu głównego, i ręcznie użyj działania zamykania, aby wrócić do grafu nawigacji.
  • Zaimplementuj niestandardowy element FragmentNavigator, który renderuje fragmenty na sobie.