Nawigacja

Wypróbuj tworzenie
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 współpracowały ze sobą, 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 umieścić linki do innych, mniej typowych ścieżek użytkownika i ustawień.

Najpopularniejsze treści to bieżąca aktywność lub najważniejsze statystyki podsumowujące.
Rysunek 1. Najważniejsze treści powinny znajdować się u góry kontenerów pionowych.

Gdy użytkownicy przejdą do jednego 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 w pionie 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 trybu otoczenia.

Uwaga: jeśli nie używasz fragmentów, ustaw, aby Twoje aktywności dziedziczyły 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 to uwzględnić 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żywaj działania zamykania, aby wracać w grafie nawigacji.
  • Wdróż niestandardowy element FragmentNavigator, który renderuje fragmenty jeden na drugim.