<OnSwipe>
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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.
Ada dalam
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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)"]]