नीचे दिए गए डायग्राम से, यह तय करने में मदद मिलती है कि अपने ऐनिमेशन को लागू करने के लिए, किस एपीआई का इस्तेमाल किया जाए.
यह तय करने के लिए कि आपके इस्तेमाल के उदाहरण के लिए कौनसा ऐनिमेशन एपीआई सबसे सही है, नीचे दिए गए डिसीज़न ट्री के सवालों का जवाब दें:
- क्या मेरा ऐनिमेशन कला की तरह है, जिसमें कई विज़ुअल एलिमेंट शामिल हैं? जैसे, SVG या इमेज
- हां: क्या इसमें आसान SVG हैं? जैसे, माइक्रो-ऐनिमेशन वाला आइकॉन
- हां:
AnimatedVectorDrawable
- नहीं: तीसरे पक्ष का ऐनिमेशन फ़्रेमवर्क, जैसे कि
Lottie
- हां:
- नहीं: क्या इसे हमेशा दोहराना है?
- हां:
rememberInfiniteTransition
- नहीं: क्या यह लेआउट ऐनिमेशन है?
- हां: क्या आपको अलग-अलग कॉन्टेंट वाले कई कॉम्पोज़ेबल के बीच स्विच करना है?
- हां: क्या नेविगेशन-कॉम्पोज़ की मदद से?
- हां:
composable()
के साथenterTransition
औरexitTransition
सेट - नहीं:
AnimatedContent
,Crossfade
याPager
- हां:
- नहीं: रंग-रूप / गायब होने का ऐनिमेशन?
- हां:
Modifier.alpha()
के साथAnimatedVisibility
याanimateFloatAsState
- नहीं: क्या साइज़ को ऐनिमेट किया जा रहा है?
- हां:
Modifier.animateContentSize
- नहीं: अन्य लेआउट प्रॉपर्टी? जैसे, ऑफ़सेट, पैडिंग वगैरह
- हां: "क्या प्रॉपर्टी एक-दूसरे से पूरी तरह से अलग हैं?" देखें
- नहीं: सूची के आइटम के ऐनिमेशन?
- हां:
animateItemPlacement()
(क्रम बदलने और मिटाने की सुविधा जल्द ही उपलब्ध होगी)
- हां:
- हां:
- हां:
- हां: क्या नेविगेशन-कॉम्पोज़ की मदद से?
- नहीं: क्या आपको एक से ज़्यादा प्रॉपर्टी को ऐनिमेट करना होगा?
- हां: क्या प्रॉपर्टी एक-दूसरे से पूरी तरह अलग हैं?
- हां:
animate*AsState
, टेक्स्ट के लिए,TextMotion.Animated
का इस्तेमाल करें - नहीं: क्या एक ही समय पर शुरू करना है?
- हां: हां:
AnimatedVisibility
,animateFloat
,animateInt
वगैरह के साथupdateTransition
- नहीं:
Animatable
के साथanimateTo
, जिसे अलग-अलग समय पर कॉल किया गया है (सस्पेंड फ़ंक्शन का इस्तेमाल करके)
- हां: हां:
- हां:
- नहीं: क्या ऐनिमेशन में पहले से तय की गई टारगेट वैल्यू का सेट है?
- हां:
animate*AsState
, टेक्स्ट के लिए,TextMotion.Animated
का इस्तेमाल करें - नहीं: जेस्चर से चलने वाला ऐनिमेशन? आपका ऐनिमेशन ही सच्चाई का स्रोत है?
- हां:
Animatable
के साथanimateTo
/snapTo
- नहीं: क्या स्टेट मैनेजमेंट के बिना एक शॉट वाला ऐनिमेशन बनाना है?
- हां:
AnimationState
याanimate
- नहीं: क्या जवाब यहां नहीं है? सुविधा का अनुरोध करना
- हां:
- हां:
- हां:
- हां: क्या प्रॉपर्टी एक-दूसरे से पूरी तरह अलग हैं?
- हां: क्या आपको अलग-अलग कॉन्टेंट वाले कई कॉम्पोज़ेबल के बीच स्विच करना है?
- हां:
- हां: क्या इसमें आसान SVG हैं? जैसे, माइक्रो-ऐनिमेशन वाला आइकॉन
डायग्राम का PDF वर्शन डाउनलोड करें.