レイアウト上でスワイプされたときに実行するアクションを指定します。モーション シーケンスとターゲット ビューのモーションの速度は、スワイプの速度と方向に影響され、オプションのパラメータで設定された制限が適用されます。
1 つの <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 の場合、スワイプが 4 cm 移動すると、ターゲット ビューは 2 cm 移動します)。dragScale
が 1 より大きい場合、ビューはスワイプよりも長い距離を移動します(たとえば、dragScale
が 1.5 の場合、スワイプが 4 cm 移動すると、ターゲット ビューは 6 cm 移動します)。 motion:maxVelocity
- ターゲット ビューの最高速度です。
motion:maxAcceleration
- ターゲット ビューの最高加速度です。