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ń.
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.AmbientModejest 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
SwipeDismissFrameLayoutjako 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.