يساعدك المخطّط البياني أدناه في تحديد واجهة برمجة التطبيقات التي تريد استخدامها لتنفيذ الصورة المتحركة.
اتّبِع أسئلة شجرة القرارات أدناه لاختيار واجهة برمجة تطبيقات الصور المتحركة الأنسب لحالة الاستخدام لديك:
- هل الصورة المتحركة تشبه العمل الفني، وتتكون من العديد من العناصر المرئية؟ مثلاً، ملفات 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 من الرسم البياني.