Menentukan tindakan yang harus dilakukan saat pengguna menggeser pada tata letak. Kecepatan urutan gerakan dan gerakan tampilan yang ditargetkan dipengaruhi oleh kecepatan dan arah tindakan geser, sesuai dengan batas yang Anda setel parameter.
Dapat terdapat beberapa node <OnSwipe>
untuk satu <Transition>
, dengan masing-masing
<OnSwipe>
yang menentukan arah geser yang berbeda dan tindakan yang berbeda untuk
saat pengguna melakukan gestur geser.
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 dipindahkan dengan menggeser.
motion:touchAnchorSide
- Sisi tampilan target yang ditambatkan geser.
MotionLayout
menyimpan 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 disetel,
<OnSwipe>
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. Tujuan nilai defaultnya adalah 1, yang menunjukkan bahwa tampilan bergerak sejauh gestur geser. Jika
dragScale
kurang dari 1, tampilan akan bergerak kurang dari jarak geser. Misalnya,dragScale
0,5 berarti bahwa jika geser bergerak 4 cm, tampilan target bergerak 2 cm.Jika
dragScale
lebih besar dari 1, tampilan akan bergerak lebih jauh dari gestur geser jarak. Misalnya,dragScale
sebesar 1,5 berarti jika gestur geser bergerak 4 cm, tampilan target bergerak 6 cm.motion:maxVelocity
Kecepatan maksimum tampilan target.
motion:maxAcceleration
Akselerasi maksimum tampilan target.