يساعدك المخطّط أدناه في تحديد واجهة برمجة التطبيقات التي يجب استخدامها لتنفيذ اللقطات المتحرّكة.
اتّبِع أسئلة شجرة القرارات أدناه لاختيار واجهة برمجة تطبيقات الصور المتحركة الأنسب لحالة الاستخدام لديك:
- هل الصورة المتحرّكة هي أشبه بالفنون، إذ إنّها تتألّف من العديد من العناصر المرئية، مثل رسومات موجّهة يمكن تغيير حجمها (SVG) أو صور.
- نعم: هل يحتوي المنتج على ملفات SVG بسيطة؟ أي، رمز يحتوي على رسومات متحركة مصغَّرة
- نعم:
AnimatedVectorDrawable
- لا: إطار عمل الصور المتحركة التابع لجهة خارجية، أي
Lottie
- نعم:
- لا: هل يجب التكرار بشكل دائم؟
- نعم:
rememberInfiniteTransition
- لا: هل هذه صورة متحركة للتخطيط؟
- نعم: هل تريد التبديل بين عدة عناصر قابلة للإنشاء ذات محتوى مختلف؟
- نعم: باستخدام ميزة التنقّل.
- نعم: تم ضبط
composable()
معenterTransition
وexitTransition
. - لا:
AnimatedContent
أوCrossfade
أوPager
- نعم: تم ضبط
- لا: هل تريد تحريك المظهر / الاختفاء؟
- نعم:
AnimatedVisibility
أوanimateFloatAsState
معModifier.alpha()
- لا: هل تريد تحريك الحجم؟
- نعم:
Modifier.animateContentSize
- لا: خاصية تنسيق أخرى، مثل الإزاحة والمساحة المتروكة وما إلى ذلك
- نعم: راجِع السؤال "هل المواقع مستقلة تمامًا عن بعضها البعض؟"
- لا: هل هناك رسوم متحركة لعناصر القائمة؟
- نعم:
animateItemPlacement()
(ستتوفّر إمكانية إعادة الترتيب والحذف قريبًا)
- نعم:
- نعم:
- نعم:
- نعم: باستخدام ميزة التنقّل.
- لا: هل تحتاج إلى إضافة تأثيرات متحركة إلى مواقع متعددة؟
- نعم: هل المواقع مستقلة تمامًا عن بعضها البعض؟
- نعم:
animate*AsState
، بالنسبة إلى النصوص، استخدِمTextMotion.Animated
- لا: هل تريد البدء في الوقت نفسه؟
- نعم: نعم:
updateTransition
معAnimatedVisibility
وanimateFloat
وanimateInt
وما إلى ذلك - لا: يتم استدعاء الدالة
Animatable
معanimateTo
في أوقات مختلفة (باستخدام دوال التعليق)
- نعم: نعم:
- نعم:
- لا: هل تحتوي الصورة المتحركة على مجموعة من قيم الهدف المحددة مسبقًا؟
- نعم:
animate*AsState
، بالنسبة إلى النصوص، استخدِمTextMotion.Animated
- لا: هل تريد استخدام صورة متحركة تعتمد على الإيماءة؟ هل الصورة المتحركة هي مصدر الحقيقة الوحيد؟
- نعم: "
Animatable
" مع "animateTo
" / "snapTo
" - لا: هل يتم استخدام صورة متحركة من لقطة واحدة بدون إدارة الدولة؟
- نعم:
AnimationState
أوanimate
- لا: الإجابة ليست هنا؟ تقديم طلب ميزة
- نعم:
- نعم: "
- نعم:
- نعم: هل المواقع مستقلة تمامًا عن بعضها البعض؟
- نعم: هل تريد التبديل بين عدة عناصر قابلة للإنشاء ذات محتوى مختلف؟
- نعم:
- نعم: هل يحتوي المنتج على ملفات SVG بسيطة؟ أي، رمز يحتوي على رسومات متحركة مصغَّرة
نزِّل نسخة PDF من الرسم البياني.