اختيار واجهة برمجة تطبيقات للصور المتحركة

يساعدك المخطّط أدناه في تحديد واجهة برمجة التطبيقات التي يجب استخدامها لتنفيذ اللقطات المتحرّكة.

مخطط انسيابي يصف شجرة القرارات لاختيار واجهة برمجة تطبيقات الرسوم المتحركة
المناسبة

الشكل 1. شجرة القرار التي تصف كيفية اختيار واجهة برمجة التطبيقات المناسبة للصور المتحركة

اتّبِع أسئلة شجرة القرارات أدناه لاختيار واجهة برمجة تطبيقات الصور المتحركة الأنسب لحالة الاستخدام لديك:

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

نزِّل نسخة PDF من الرسم البياني.