Menentukan tindakan yang harus dilakukan saat pengguna menggeser pada tata letak. Kecepatan urutan gerakan dan gerakan tampilan yang ditargetkan dipengaruhi oleh kecepatan dan arah gestur geser, sesuai dengan batas yang Anda tetapkan dengan parameter opsional.
Mungkin ada beberapa node <OnSwipe>
untuk satu <Transition>
, dengan setiap
<OnSwipe>
yang menentukan arah geser yang berbeda dan tindakan yang berbeda untuk
dilakukan saat pengguna melakukan geser tersebut.
Sintaksis
<OnSwipe motion:touchAnchorId="@id/target_view" motion:touchAnchorSide="side" [ motion:dragDirection="direction" ] [ motion:dragScale="scale" ] [ motion:maxVelocity="maxVelocity" ] [ motion:maxAcceleration="maxAcceleration" ] />
Atribut
motion:touchAnchorId
- Tampilan yang digerakkan dengan gestur geser.
motion:touchAnchorSide
- Sisi tampilan target tempat geser ditambatkan.
MotionLayout
mempertahankan jarak konstan antara anchor dan jari pengguna. Nilai yang dapat diterima adalah"left"
,"right"
,"top"
, dan"bottom"
. motion:dragDirection
- Arah gerak geser pengguna. Jika atribut ini ditetapkan,
<OnSwipe>
ini hanya berlaku untuk gestur geser ke arah yang ditentukan. Nilai yang dapat diterima adalah"dragLeft"
,"dragRight"
,"dragUp"
, dan"dragDown"
. motion:dragScale
Mengontrol jarak gerakan tampilan relatif terhadap panjang geser. Nilai defaultnya adalah 1, yang menunjukkan bahwa tampilan bergerak sejauh tindakan geser. Jika
dragScale
kurang dari 1, tampilan akan bergerak kurang dari jarak geser. Misalnya,dragScale
0,5 berarti bahwa jika tindakan geser bergerak sejauh 4 cm, tampilan target akan bergerak sejauh 2 cm.Jika
dragScale
lebih besar dari 1, tampilan akan bergerak lebih jauh dari jarak geser. Misalnya,dragScale
1,5 berarti jika geser bergerak sejauh 4 cm, tampilan target bergerak sejauh 6 cm.motion:maxVelocity
Kecepatan maksimum tampilan target.
motion:maxAcceleration
Akselerasi maksimum tampilan target.