Przesuń, by zamknąć

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.