<OnSwipe>
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Chỉ định hành động cần thực hiện khi người dùng vuốt trên bố cục. Vận tốc của
chuỗi chuyển động và chuyển động của khung nhìn được nhắm mục tiêu chịu ảnh hưởng của
tốc độ và hướng vuốt, tuân theo giới hạn mà bạn thiết lập (không bắt buộc)
tham số.
Có thể có nhiều nút <OnSwipe>
cho một <Transition>
, trong đó mỗi nút
<OnSwipe>
chỉ định một hướng vuốt khác và một hành động khác để
thực hiện khi người dùng thực hiện thao tác vuốt đó.
Cú pháp
<OnSwipe
motion:touchAnchorId="@id/target_view"
motion:touchAnchorSide="side"
[ motion:dragDirection="direction" ]
[ motion:dragScale="scale" ]
[ motion:maxVelocity="maxVelocity" ]
[ motion:maxAcceleration="maxAcceleration" ]
/>
Thuộc tính
motion:touchAnchorId
- Xem đối tượng được di chuyển bằng thao tác vuốt.
motion:touchAnchorSide
- Phía của thành phần hiển thị mục tiêu mà thao tác vuốt được liên kết.
MotionLayout
giữ cho
khoảng cách không đổi giữa quảng cáo cố định cuối màn hình và ngón tay của người dùng. Giá trị có thể chấp nhận
là "left"
, "right"
, "top"
và "bottom"
.
motion:dragDirection
- Hướng chuyển động vuốt của người dùng. Nếu bạn đặt thuộc tính này,
<OnSwipe>
chỉ áp dụng cho các thao tác vuốt theo hướng đã chỉ định. Giá trị có thể chấp nhận
là "dragLeft"
, "dragRight"
, "dragUp"
và "dragDown"
.
motion:dragScale
Kiểm soát khoảng cách mà khung hiển thị di chuyển tương ứng với thời lượng vuốt. Chiến lược phát hành đĩa đơn
giá trị mặc định là 1, cho biết thành phần hiển thị di chuyển xa như thao tác vuốt.
Nếu dragScale
nhỏ hơn 1, thì thành phần hiển thị sẽ di chuyển nhỏ hơn khoảng cách vuốt.
Ví dụ: dragScale
là 0, 5 có nghĩa là nếu thao tác vuốt di chuyển 4 cm, thì
tầm nhìn mục tiêu di chuyển 2 cm.
Nếu dragScale
lớn hơn 1, thì thành phần hiển thị sẽ di chuyển ra xa hơn thao tác vuốt
khoảng cách. Ví dụ: dragScale
là 1, 5 có nghĩa là nếu thao tác vuốt di chuyển 4
cm thì khung nhìn mục tiêu di chuyển được 6 cm.
motion:maxVelocity
Vận tốc tối đa của khung hiển thị mục tiêu.
motion:maxAcceleration
Tăng tốc tối đa của khung hiển thị mục tiêu.
Có trong:
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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)"]]