<OnSwipe>

Określa działanie, które ma zostać wykonane, gdy użytkownik przesunie palcem po układzie. Szybkość sekwencji ruchu oraz ruch w widoku docelowym zależą od szybkości i kierunku przesuwania, w zależności od ograniczeń ustawionych w opcjonalnych parametrach.

Pojedynczy element <Transition> może mieć wiele węzłów <OnSwipe>, przy czym każdy <OnSwipe> określa inny kierunek przesunięcia i inne działanie wykonywane przez użytkownika.

Składnia

<OnSwipe
  motion:touchAnchorId="@id/target_view"
  motion:touchAnchorSide="side"
[ motion:dragDirection="direction" ]
[ motion:dragScale="scale" ]
[ motion:maxVelocity="maxVelocity" ]
[ motion:maxAcceleration="maxAcceleration" ]
 />

Atrybuty

motion:touchAnchorId
Widok przenoszony przez przesuwanie.
motion:touchAnchorSide
Strona widoku docelowego, w którym jest zakotwiczone przesunięcie. MotionLayout utrzymuje stałą odległość między palcem zakotwiczoną a palcem użytkownika. Akceptowane wartości to "left", "right", "top" i "bottom".
motion:dragDirection
Kierunek przesuwania palcem przez użytkownika. Jeśli ten atrybut jest ustawiony, <OnSwipe> dotyczy tylko przesunięć w określonym kierunku. Akceptowane wartości to "dragLeft", "dragRight", "dragUp" i "dragDown".
motion:dragScale

Określa, o jaką odległość przesuwa się widok w stosunku do długości przesunięcia. Wartość domyślna to 1, co oznacza, że widok przesuwa się w zasięgu przesunięcia. Jeśli dragScale ma wartość mniejszą niż 1, widok przesuwa się w mniejszym stopniu niż długość przesuwania. Na przykład dragScale równy 0,5 oznacza, że jeśli przesunięcie zostanie przesunięte o 4 cm, widok docelowy przesunie się o 2 cm.

Jeśli dragScale ma wartość większą niż 1, widok przesuwa się poza odległość przesunięcia. Na przykład dragScale = 1,5 oznacza, że jeśli przesunięcie zostanie przesunięte o 4 cm, widok docelowy przesunie się o 6 cm.

motion:maxVelocity

Maksymalna prędkość w widoku docelowym.

motion:maxAcceleration

Maksymalne przyspieszenie widoku docelowego.

Zawarte w