Przesuń, by zamknąć

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

SwipeDismissableNavHostbiblioteki 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ę.