בחירת API לאנימציה

התרשים הבא יעזור לכם להחליט באיזה API להשתמש כדי להטמיע את האנימציה.

תרשים זרימה שמתאר את עץ ההחלטות לבחירת ה-API המתאים לאנימציה
איור 1. עץ החלטות שמתאר איך לבחור את ה-API המתאים לאנימציה.

תרשים זרימה שמתאר את עץ ההחלטות לבחירת ה-API המתאים לאנימציה

כדי לבחור את ה-API המתאים ביותר לאנימציה לתרחיש השימוש שלכם, אפשר להיעזר בעץ ההחלטות הבא:

  • האם האנימציה שלך מבוססת על אומנות (כלומר, קובצי SVG או תמונות)?
    • כן: האם נעשה שימוש ב-SVG פשוטים (כלומר, סמל עם אנימציות קטנות)?
    • לא: האם האנימציה צריכה לחזור על עצמה ללא הפסקה?
      • כן: rememberInfiniteTransition.
      • לא: האם אתה מנפיש פריסה?
        • כן: האם אתם עוברים בין רכיבים שאפשר להרכבה עם תוכן שונה?
          • כן: האם נעשה שימוש ב-Navigation-Compose?
          • לא: האם אתה יוצר אנימציה של הופעה או היעלמות של תוכן?
            • כן: AnimatedVisibility או animateFloatAsState עם Modifier.alpha().
            • לא: האם אתם יוצרים אנימציה של שינוי גודל?
              • כן: Modifier.animateContentSize.
              • לא: האם אתם יוצרים אנימציה למאפיין פריסה אחר (לדוגמה, offset או padding)?
                • כן: אפשר לעיין בקטע 'האם הנכסים בלתי תלויים לחלוטין זה בזה?'.
                • לא: האם יש אנימציה לפריטים ברשימה?
        • לא: האם יוצרים אנימציה למספר מאפיינים?
          • כן: האם המאפיינים בלתי תלויים לחלוטין זה בזה?
            • כן: animate*AsState. כדי להוסיף טקסט, משתמשים בסמל TextMotion.Animated.
            • לא: האם הם צריכים להתחיל באותו הזמן?
              • כן: updateTransition עם AnimatedVisibility,‏ animateFloat,‏ animateInt וכו'.
              • לא: Animatable עם animateTo, שמופעל עם תזמונים שונים באמצעות פונקציות השהיה.
          • לא: האם לאנימציה יש ערכי יעד מוגדרים מראש?
            • כן: animate*AsState. לגבי טקסט, משתמשים ב-TextMotion.Animated.
            • לא: האנימציה מופעלת באמצעות תנועה והיא המקור היחיד למידע מהימן?

מורידים את גרסת ה-PDF של הדיאגרמה.