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.