Animowana animacja typu Przesuń, aby zamknąć informuje o przejściu, gdy użytkownik przejdzie na poprzednią stronę.
Szczegóły animacji przesunięcia w celu zamknięcia są podobne do tych dotyczących naciśnięcia przycisku RSB. Palec kontroluje postęp animacji do 50%.
W widoku aplikacji jest dodatkowa animacja powiązana z gesturem odrzucenia. Odległość wyświetlana w widoku aplikacji nie jest taka sama jak odległość, jaką musi pokonać palec. Widok aplikacji nie powinien nigdy wychodzić poza krawędź ekranu. Efekt ściskania powinien być wyświetlany z pewnym oporem.
Implementacja
SwipeDismissableNavHost
z biblioteki komponentów nawigacjidomyślnie zapewnia gest przesuwania w celu zamknięcia.
Jeśli nie korzystasz z biblioteki nawigacji, nadal możesz obsługiwać ten gest nawigacji na pełnym ekranie, korzystając bezpośrednio z BasicSwipeToDismissBox
.
Projektowanie
Podczas projektowania działania „przesuń, aby zamknąć” pamiętaj o tych 2 zasadach:
Krawędź ekranu
uwzględniać inne elementy interfejsu, które można przewijać, np. pogrupowane widoki aplikacji; Jeśli przesunięcie palcem w stronę odrzucania jest możliwe, zarezerwuj 20% krawędzi ekranu, aby wywołać to działanie.
Przykład przesuwania palcem po krawędzi, gdy treści można przewijać poziomo, znajdziesz w tym przykładzie z kodu źródłowego Compose Material na Wear OS.
Próg, po przekroczeniu którego użytkownik wraca do widoku aplikacji lub pozostaje w niej
Jeśli użytkownik przesunął palcem po ponad 50% szerokości ekranu, aplikacja powinna uruchomić pozostałą część animacji przesuwania do tyłu. Jeśli jest mniejszy, aplikacja powinna przywrócić pełny widok aplikacji.
Jeśli gest jest szybki, zignoruj zasadę progu 50% i przesuń palcem w drugą stronę.