<OnSwipe>
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
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ład dragScale
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.
Zawarte w
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# <OnSwipe>\n\nSpecifies the action to perform when the user swipes on the layout. The speed of\nthe motion sequence and the motion of the targeted view are affected by the\nspeed and direction of the swipe, subject to the limits you set with optional\nparameters.\n\nThere can be multiple `\u003cOnSwipe\u003e` nodes for a single `\u003cTransition\u003e`, with each\n`\u003cOnSwipe\u003e` specifying a different swipe direction and a different action to\nperform when the user performs that swipe.\n\nSyntax\n------\n\n```xml\n\u003cOnSwipe\n motion:touchAnchorId=\"@id/target_view\"\n motion:touchAnchorSide=\"side\"\n[ motion:dragDirection=\"direction\" ]\n[ motion:dragScale=\"scale\" ]\n[ motion:maxVelocity=\"maxVelocity\" ]\n[ motion:maxAcceleration=\"maxAcceleration\" ]\n /\u003e\n```\n\nAttributes\n----------\n\n`motion:touchAnchorId`\n: View that is being moved by the swipe.\n\n`motion:touchAnchorSide`\n: Side of the target view that the swipe is anchored to. `MotionLayout` keeps a\n constant distance between the anchor and the user's finger. Acceptable values\n are `\"left\"`, `\"right\"`, `\"top\"`, and `\"bottom\"`.\n\n`motion:dragDirection`\n: Direction of the user's swipe motion. If this attribute is set, this\n `\u003cOnSwipe\u003e` only applies to swipes in the specified direction. Acceptable values\n are `\"dragLeft\"`, `\"dragRight\"`, `\"dragUp\"`, and `\"dragDown\"`.\n\n`motion:dragScale`\n\n: Controls the distance the view moves relative to the length of the swipe. The\n default value is 1, indicating that the view moves as far as the swipe does.\n If `dragScale` is less than 1, the view moves less than the swipe distance.\n For example, a `dragScale` of 0.5 means that if the swipe moves 4 cm, the\n target view moves 2 cm.\n\n If `dragScale` is greater than 1, the view moves farther than the swipe\n distance. For example, a `dragScale` of 1.5 means that if the swipe moves 4\n cm, the target view moves 6 cm.\n\n`motion:maxVelocity`\n\n: Maximum velocity of the target view.\n\n`motion:maxAcceleration`\n\n: Maximum acceleration of the target view.\n\nContained in\n------------\n\n- [`\u003cTransition\u003e`](/training/constraint-layout/motionlayout/ref/transition)"]]