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

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

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

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

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

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

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