<OnSwipe>

Chỉ định hành động sẽ thực hiện khi người dùng vuốt trên bố cục. Tốc độ của trình tự chuyển động và chuyển động của khung hiển thị được nhắm mục tiêu sẽ chịu ảnh hưởng của tốc độ và hướng vuốt, tuỳ thuộc vào các giới hạn mà bạn đặt với các tham số không bắt buộc.

Có thể có nhiều nút <OnSwipe> cho một <Transition>, trong đó mỗi <OnSwipe> chỉ định một hướng vuốt khác và một hành động khác cần 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
Khung hiển thị đang được di chuyển bằng thao tác vuốt.
motion:touchAnchorSide
Ở cạnh chế độ xem mục tiêu mà thao tác vuốt liên kết vào. MotionLayout giữ một khoảng cách không đổi giữa điểm neo và ngón tay của người dùng. Các giá trị được chấp nhận là "left", "right", "top""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, thì <OnSwipe> này chỉ áp dụng cho các thao tác vuốt theo hướng đã chỉ định. Các giá trị được chấp nhận là "dragLeft", "dragRight", "dragUp""dragDown".
motion:dragScale

Kiểm soát khoảng cách di chuyển của khung hiển thị so với độ dài của thao tác vuốt. Giá trị mặc định là 1, cho biết thành phần hiển thị di chuyển theo hướng vuốt. Nếu dragScale nhỏ hơn 1, thì khung 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ì khung hiển thị mục tiêu sẽ di chuyển 2 cm.

Nếu dragScale lớn hơn 1, thì khung hiển thị sẽ di chuyển xa hơn khoảng cách vuốt. Ví dụ: dragScale là 1,5 có nghĩa là nếu thao tác vuốt di chuyển 4 cm thì khung hiển thị mục tiêu sẽ di chuyển 6 cm.

motion:maxVelocity

Tốc độ tối đa của khung nhìn 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: