Przesuń, aby zamknąć animacja informuje użytkownika o przejściu na poprzednią stronę.
Szczegóły animacji przesuwania w celu zamknięcia są podobne do tych po naciśnięciu RSB. Twoje palce sterują postępem animacji maksymalnie o 50%.
W widoku aplikacji znajduje się dodatkowa animacja gest. Ruch w widoku aplikacji nie jest taki sam jak czyli odległość, jaką musi przesunąć palec. Widok aplikacji nigdy nie powinien opuszczać krawędzi ekranu, co daje wrażenie ściśnięcia i z pewnym oporem.
Implementacja
Wear ma własną wersję aplikacji Box
,
SwipeToDismissBox
Dodaliśmy obsługę gestu przesuwania palcem, aby zamknąć, który jest podobny do tego,
na komórce.
SwipeToDismissBox
to funkcja kompozycyjna, którą możesz zamknąć, przesuwając palcem w prawo.
Aby używać funkcji SwipeToDismissBox
, musisz najpierw utworzyć stan. Stan zawiera
informacje o kierunku przesuwania, czy animacja jest uruchomiona, bieżące
wartość i wartość docelową oraz inne elementy. Poniższy przykład pokazuje, jak zaprojektować
proste przesunięcie palcem, aby odrzucić działanie:
val state = rememberSwipeToDismissBoxState()
SwipeToDismissBox(
onDismissed = { /* navigateBack */ },
) { isBackground ->
if (isBackground) {
Box(modifier = Modifier.fillMaxSize().background(MaterialTheme.colors.secondaryVariant))
} else {
Column(
modifier = Modifier.fillMaxSize().background(MaterialTheme.colors.primary),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Text("Swipe to dismiss", color = MaterialTheme.colors.onPrimary)
}
}
}
Więcej informacji na temat korzystania z funkcji Przesuwania/zamknięcia w połączeniu z parametrem w bibliotece nawigacyjnej, zapoznaj się z dokumentacją Biblioteka nawigacji w Wear Compose
Projektowanie
Podczas projektowania przesuwania palcem w celu odrzucenia działania przestrzegaj 2 poniższych zasad :
Krawędź ekranu
Weź pod uwagę inne elementy interfejsu, które można przesuwać, np. widok aplikacji z podziałem na strony. Jeśli możesz zamknąć to okno przez przesunięcie, zarezerwuj 20% krawędzi ekranu który wywołał ten ruch.
Zobacz ten przykład z elementu Compose Material na Wear OS na przykład przesuwania krawędzi, gdy treść można przewijać w poziomie.
Próg powrotu do widoku aplikacji lub pozostawania w nim
Jeśli użytkownik przeciągnął palcem po ponad 50% szerokości ekranu, aplikacja powinna uruchomić pozostałą część animacji przesuwania do tyłu. Jeśli jest mniejsze niż Powinno to spowodować przywrócenie pełnego widoku aplikacji.
Jeśli gest jest szybki, zignoruj regułę progu 50% i przesuń palcem do tyłu.