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