Określa działanie, które ma być wykonywane, gdy użytkownik przesunie palcem po układzie. Szybkość działania na sekwencję animacji i ruch w widoku docelowym mają wpływ parametry prędkość i kierunek przesuwania, z zastrzeżeniem ograniczeń ustawionych za pomocą opcji .
W jednym <Transition>
może być wiele węzłów <OnSwipe>
, z których każdy
<OnSwipe>
określający inny kierunek przesuwania i inne działanie
gdy użytkownik wykona dane przesuwanie.
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
- Wyświetl, który jest przesuwany przesuwaniem.
motion:touchAnchorSide
- Strona docelowego widoku, z którym jest zakotwiczone przesunięcie.
MotionLayout
przechowuje stałą odległość między reklamą zakotwiczoną a palcem użytkownika. Akceptowane wartości to"left"
,"right"
,"top"
i"bottom"
. motion:dragDirection
- Kierunek ruchu przesuwanego przez użytkownika. Jeśli ten atrybut jest ustawiony, parametr
Funkcja
<OnSwipe>
ma zastosowanie tylko do przesuwania w określonym kierunku. Akceptowane wartości to"dragLeft"
,"dragRight"
,"dragUp"
i"dragDown"
. motion:dragScale
Kontroluje odległość, jaką wyświetla się w odniesieniu do długości przesunięcia. wartość domyślna to 1, co wskazuje, że widok odsuwa się tak dalej, jak następuje po przesunięciu palcem. Jeśli
dragScale
ma wartość mniejszą niż 1, widok przesuwa się o mniej niż odległość przesunięcia. Na przykładdragScale
o wartości 0,5 oznacza, że jeśli przesunięcie o 4 cm, widok docelowy przesuwa się o 2 cm.Jeśli
dragScale
ma wartość większą niż 1, widok jest oddalony od przesuwania odległość. Na przykład wartośćdragScale
o wartości 1,5 oznacza, że jeśli przesunięcie zostanie przeniesione o 4 cm, widok docelowy przesuwa się o 6 cm.motion:maxVelocity
Maksymalna prędkość w widoku docelowym.
motion:maxAcceleration
Maksymalne przyspieszenie widoku docelowego.