कोई ऐनिमेशन एपीआई चुनें

यहां दिए गए डायग्राम की मदद से, यह तय किया जा सकता है कि ऐनिमेशन लागू करने के लिए, किस एपीआई का इस्तेमाल करना चाहिए.

सही ऐनिमेशन एपीआई चुनने के लिए, डिसीज़न ट्री के बारे में बताने वाला फ़्लोचार्ट
पहली इमेज. डिसीजन ट्री, जिसमें सही Animation API चुनने का तरीका बताया गया है.

सही ऐनिमेशन एपीआई चुनने के लिए, डिसीज़न ट्री के बारे में बताने वाला फ़्लोचार्ट

अपने इस्तेमाल के उदाहरण के लिए, सबसे सही Animation API चुनने के लिए, यहां दिए गए डिसीज़न ट्री का इस्तेमाल करें:

  • क्या आपका ऐनिमेशन, आर्ट पर आधारित है (जैसे, एसवीजी या इमेज)?
    • हां: क्या इसमें आसान एसवीजी (यानी कि माइक्रो-ऐनिमेशन वाला आइकॉन) का इस्तेमाल किया जाता है?
      • हां: AnimatedVectorDrawable.
      • नहीं: तीसरे पक्ष का ऐनिमेशन फ़्रेमवर्क, जैसे कि Lottie.
    • नहीं: क्या ऐनिमेशन को लगातार दोहराने की ज़रूरत है?
      • हां: rememberInfiniteTransition.
      • नहीं: क्या आपको किसी लेआउट को ऐनिमेट करना है?
        • हां: क्या अलग-अलग कॉन्टेंट वाले कंपोज़ेबल के बीच स्विच किया जा रहा है?
          • हां: क्या Navigation-Compose का इस्तेमाल किया जा रहा है?
          • नहीं: क्या कॉन्टेंट के दिखने या गायब होने के लिए ऐनिमेशन का इस्तेमाल किया जा रहा है?
            • हां: Modifier.alpha() के साथ AnimatedVisibility या animateFloatAsState.
            • नहीं: क्या आपको साइज़ में बदलाव को ऐनिमेट करना है?
              • हां: Modifier.animateContentSize.
              • नहीं: क्या किसी अन्य लेआउट प्रॉपर्टी को ऐनिमेट किया जा रहा है? जैसे, ऑफ़सेट या पैडिंग.
                • हां: "क्या प्रॉपर्टी एक-दूसरे से पूरी तरह से अलग हैं?" देखें.
                • नहीं: क्या सूची के आइटम ऐनिमेट किए जा रहे हैं?
        • नहीं: क्या एक से ज़्यादा प्रॉपर्टी ऐनिमेट की जा रही हैं?
          • हां: क्या प्रॉपर्टी एक-दूसरे से पूरी तरह से अलग हैं?
            • हां: animate*AsState. टेक्स्ट के लिए, TextMotion.Animated का इस्तेमाल करें.
            • नहीं: क्या उन्हें एक ही समय पर शुरू करना ज़रूरी है?
              • हां: AnimatedVisibility, animateFloat, animateInt वगैरह के साथ updateTransition.
              • नहीं: animateTo के साथ Animatable. इसे सस्पेंड फ़ंक्शन का इस्तेमाल करके, अलग-अलग समय पर कॉल किया जाता है.
          • नहीं: क्या ऐनिमेशन के लिए, टारगेट की जाने वाली वैल्यू पहले से तय हैं?
            • हां: animate*AsState. टेक्स्ट के लिए, TextMotion.Animated का इस्तेमाल करें.
            • नहीं: क्या ऐनिमेशन, जेस्चर पर आधारित है और एकमात्र भरोसेमंद सोर्स है?

डायग्राम का PDF वर्शन डाउनलोड करें.