أمثلة على MotionLayout

تجربة طريقة "الكتابة"
‫Jetpack Compose هي مجموعة أدوات واجهة المستخدم المقترَحة لنظام التشغيل Android. تعرَّف على كيفية استخدام الصور المتحركة في Compose.

يتضمّن هذا المستند أمثلة على كيفية استخدام MotionLayout. يتضمّن كل مثال فيديو يعرض الحركة، بالإضافة إلى الرمز المقابل لمشهد الحركة والتنسيقات.

الحركة الأساسية

يحتوي هذا المثال على عرض واحد يمكنك لمسه وسحبه للتنقّل أفقيًا.

الشكل 1. سحب طريقة عرض

السمة المخصّصة - backgroundColor

يشبه هذا المثال المثال الحركة الأساسية. بالإضافة إلى الحركة الأساسية، يتغيّر لون خلفية العرض أثناء تحرّكه.

الشكل 2. سحب عرض أثناء تغيُّر لون الخلفية

ImageFilterView - انتقال الصورة

يوضّح هذا المثال كيفية نقل قيمة التشبع الخاصة بـ ImageFilterView.

الشكل 3. سحب صورة أثناء تغيير تشبّعها

موضع الإطار الرئيسي

يستخدم هذا المثال <KeyFrameSet> لتغيير موضع العرض على المحور Y أثناء الحركة.

الشكل 4. سحب طريقة عرض وتغيير موضعها على المحور Y

الاستيفاء بين الإطارات الرئيسية

يستند هذا المثال إلى مثال موضع الإطار الرئيسي، مع إضافة تدوير وتغيير حجم إلى انتقال العرض.

الشكل 5. سحب طريقة عرض وتغيير موضعها على المحور Y وتدويرها وتغيير حجمها

دورة الإطارات الرئيسية

يضيف هذا المثال عناصر <KeyCycle> لإضافة حركة شبيهة بالموجة إلى طريقة العرض.

الشكل 6. سحب عرض بحركة شبيهة بالموجة مع تغيير لونه

CoordinatorLayout (1/2)

يضيف هذا المثال MotionLayout إلى AppBarLayout حالي لإضافة حركة إلى شريط التطبيق. يتم توضيح هذا المثال بشكل أكبر في مقدمة عن MotionLayout (الجزء الثالث).

الشكل 7. التنقّل بين المحتوى أثناء توسيع شريط التطبيق

CoordinatorLayout (2/2)

يضيف هذا المثال MotionLayout إلى AppBarLayout حالي لإضافة حركة إلى شريط التطبيق.

الشكل 8. تمرير المحتوى سريعًا للأعلى أو للأسفل أثناء توسيع شريط التطبيق وتحريك النص للداخل والخارج من شريط التطبيق

DrawerLayout (1/2)

يوضّح هذا المثال كيفية إضافة حركة إلى DrawerLayout. يتم وصف هذا المثال بشكل أكبر في مقدمة عن MotionLayout (الجزء الثالث).

الشكل 9. توسيع `DrawerLayout`.

‫DrawerLayout (2/2)

يوضّح هذا المثال كيفية إضافة حركة إلى DrawerLayout.

الشكل 10. توسيع `DrawerLayout` باستخدام نص قائمة متحرك

اللوحة الجانبية

يوضّح هذا المثال كيفية عرض لوحة جانبية عند سحب مساحة المحتوى الرئيسي إلى اليسار.

الشكل 11. عرض لوحة جانبية عن طريق سحب المحتوى الرئيسي

اختلاف المنظر

يوضّح هذا المثال خلفية اختلاف المنظر، حيث تتحرّك طبقات الخلفية المختلفة بسرعات مختلفة.

الشكل 12. تأثير اختلاف المنظر في صورة العنوان

ViewPager

يوضّح هذا المثال كيف يمكنك إضافة حركة عند التمرير سريعًا بين علامات التبويب ViewPager. يتم وصف هذا المثال بشكل أكبر في مقدمة عن MotionLayout (الجزء الثالث).

الشكل 13. تأثير المنظر المجسم في صورة العنوان أثناء التمرير السريع في `ViewPager`.

ViewPager - Lottie

يوضّح هذا المثال كيف يمكنك إضافة حركة عند التمرير سريعًا بين علامات التبويب ViewPager.

الشكل 14. صورة تعرض تأثير Lottie في صورة العنوان أثناء التمرير السريع في `ViewPager`.

الحركة المعقّدة (1/3)

يجمع هذا المثال بين عناصر من الأمثلة السابقة لتوضيح الحركة المعقّدة.

الشكل 15. دمج التأثيرات لإنشاء حركة معقّدة

الحركة المعقّدة (2/3)

يجمع هذا المثال بين عناصر من الأمثلة السابقة لتوضيح الحركة المعقّدة.

الشكل 16. دمج التأثيرات لإنشاء حركة معقّدة

الحركة المعقّدة (3 من 3)

يجمع هذا المثال بين عناصر من الأمثلة السابقة لتوضيح الحركة المعقّدة.

الشكل 17. دمج التأثيرات لإنشاء حركة معقّدة

انتقال الجزء (1/2)

يوضّح هذا المثال كيف يمكنك استخدام MotionLayout للانتقال بين الأجزاء.

الشكل 18. انتقال الجزء

انتقال الجزء (2/2)

يوضّح هذا المثال كيف يمكنك استخدام MotionLayout للانتقال بين الأجزاء.

الشكل 19. انتقال الجزء

حركة شبيهة بحركة YouTube

يوضّح هذا المثال كيفية الانتقال بين عرض مضغوط وتجربة ملء الشاشة مع محتوى إضافي.

الشكل 20. انتقال الأجزاء بشكل مشابه لما يحدث في YouTube

KeyTrigger

يوضّح هذا المثال كيفية عرض زر الإجراء الرئيسي وإخفائه عندما يتجاوز الانتقال حدًا أدنى للتقدّم.

الشكل 21. عرض زر إجراء عائم وإخفاؤه

عدة ولايات

يوضّح هذا المثال كيفية استخدام الحالة لتحديد الحركة التي سيتم تطبيقها.

الشكل 22. حركات مختلفة حسب الحالة