指定使用者滑動版面配置時要執行的動作。動作的順序和目標檢視畫面的動作,會受到滑動速度和方向的影響,實際情況須視您使用選用參數設定的限製而定。
單一 <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 公分,目標檢視畫面會移動 2 公分。如果
dragScale
大於 1,檢視畫面的移動幅度會大於滑動距離。舉例來說,dragScale
1.5 代表如果滑動移動 4 公分,目標檢視畫面會移動 6 公分。motion:maxVelocity
目標檢視畫面的最高速度。
motion:maxAcceleration
目標檢視畫面的最大加速時間。