レイアウト上でスワイプされたときに実行するアクションを指定します。モーション シーケンスの速度とターゲット ビューのモーションは、スワイプの速度と方向の影響を受けますが、オプションのパラメータで設定した制限が適用されます。
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
ターゲット ビューの最大加速度。