사용자가 레이아웃을 스와이프할 때 실행할 작업을 지정합니다. 모션 시퀀스의 속도와 타겟팅된 뷰의 모션은 스와이프의 속도와 방향의 영향을 받으며, 선택적 매개변수로 설정한 제한이 적용됩니다.
단일 <Transition>
에는 여러 <OnSwipe>
노드가 있을 수 있으며 각 <OnSwipe>
은 다른 스와이프 방향과 사용자가 스와이프할 때 실행할 여러 작업을 지정합니다.
문법
<OnSwipe motion:touchAnchorId="@id/target_view" motion:touchAnchorSide="side" [ motion:dragDirection="direction" ] [ motion:dragScale="scale" ] [ motion:maxVelocity="maxVelocity" ] [ motion:maxAcceleration="maxAcceleration" ] />
속성
motion:touchAnchorId
- 스와이프로 이동 중인 뷰
motion:touchAnchorSide
- 스와이프가 고정된 타겟 뷰의 측면입니다.
MotionLayout
는 앵커와 사용자의 손가락 사이에 일정한 거리를 유지합니다. 허용되는 값은"left"
,"right"
,"top"
,"bottom"
입니다. motion:dragDirection
- 사용자의 스와이프 모션 방향입니다. 이 속성을 설정하면 이
<OnSwipe>
는 지정된 방향의 스와이프에만 적용됩니다. 허용되는 값은"dragLeft"
,"dragRight"
,"dragUp"
,"dragDown"
입니다. motion:dragScale
스와이프 길이를 기준으로 뷰가 이동하는 거리를 제어합니다. 기본값은 1이며, 뷰가 스와이프하는 만큼 이동함을 나타냅니다.
dragScale
이 1보다 작으면 뷰가 스와이프 거리보다 작게 이동합니다. 예를 들어dragScale
이 0.5이면 스와이프가 4cm 이동하면 타겟 뷰는 2cm 이동합니다.dragScale
가 1보다 크면 뷰가 스와이프 거리보다 멀어집니다. 예를 들어dragScale
이 1.5이면 스와이프가 4cm 이동하면 타겟 뷰는 6cm 이동합니다.motion:maxVelocity
타겟 뷰의 최대 속도입니다.
motion:maxAcceleration
타겟 뷰의 최대 가속