تحدِّد هذه السياسة الإجراء الذي سيتم تنفيذه عندما يمرِّر المستخدم سريعًا على التنسيق. تتأثر سرعة تسلسل الحركة وحركة طريقة العرض المستهدفة بسرعة التمرير واتجاهه، مع مراعاة الحدود التي تحدّدها مع المعلَمات الاختيارية.
يمكن أن تكون هناك عُقد <OnSwipe>
متعدّدة لعنصر <Transition>
واحد، وتحدّد كل <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
الحد الأقصى لتسريع عرض الهدف.