התרשים שלמטה יעזור לכם להחליט באיזה ממשק API להשתמש כדי להטמיע את האנימציה.
כדי לבחור את ה-API המתאים ביותר לצורכי האנימציה שלכם, תוכלו לענות על השאלות הבאות בעץ ההחלטות:
- האם האנימציה שלי דומה יותר לאומנות, ומכילה הרבה אלמנטים חזותיים? למשל, קובצי SVG או תמונות
- כן: האם יש בו קובצי SVG פשוטים? כלומר, סמל עם אנימציות מיקרו
- כן:
AnimatedVectorDrawable
- לא: מסגרת אנימציה של צד שלישי, למשל
Lottie
- כן:
- לא: האם צריך לחזור על הפעולה הזו כל הזמן?
- כן:
rememberInfiniteTransition
- לא: האם זו אנימציה של פריסה?
- כן: האם אתם עוברים בין כמה רכיבים מורכבים עם תוכן שונה?
- כן: עם navigation-compose?
- כן:
composable()
עםenterTransition
ו-exitTransition
הוגדרו - לא:
AnimatedContent
,Crossfade
אוPager
- כן:
- לא: אנימציה של הופעה או היעלמות?
- כן:
AnimatedVisibility
אוanimateFloatAsState
עםModifier.alpha()
- לא: גודל אנימציה?
- כן:
Modifier.animateContentSize
- לא: מאפיין פריסה אחר? למשל, הזזה, ריפוד וכו'
- כן: אפשר לעיין בקטע 'האם הנכסים עצמאיים לחלוטין זה מזה?'
- לא: אנימציות של פריטים ברשימה?
- כן:
animateItemPlacement()
(בקרוב אפשר יהיה להזמין מחדש ולמחוק)
- כן:
- כן:
- כן:
- כן: עם navigation-compose?
- לא: האם אתם צריכים ליצור אנימציה לכמה נכסים?
- כן: האם הנכסים עצמאיים לחלוטין זה מזה?
- כן:
animate*AsState
, בשביל טקסט, משתמשים ב-TextMotion.Animated
- לא: להתחיל באותו זמן?
- כן: כן:
updateTransition
עםAnimatedVisibility
, animateFloat
, animateInt
וכו' - לא:
Animatable
עםanimateTo
הופעלה בתזמונים שונים (באמצעות פונקציות השעיה)
- כן: כן:
- כן:
- לא: האם האנימציה כוללת קבוצה של ערכי יעד מוגדרים מראש?
- כן:
animate*AsState
, לטקסט, משתמשים ב-TextMotion.Animated
- לא: אנימציה מבוססת-תנועה? האם האנימציה שלכם היא המקור היחיד למידע?
- כן:
Animatable
עםanimateTo
/snapTo
- לא: אנימציה במבט אחד בלי ניהול מצב?
- כן:
AnimationState
אוanimate
- לא: אין כאן תשובה? הגשת בקשה להוספת תכונה
- כן:
- כן:
- כן:
- כן: האם הנכסים עצמאיים לחלוטין זה מזה?
- כן: האם אתם עוברים בין כמה רכיבים מורכבים עם תוכן שונה?
- כן:
- כן: האם יש בו קובצי SVG פשוטים? כלומר, סמל עם אנימציות מיקרו
הורדת גרסת ה-PDF של התרשים.