ऐनिमेशन के बारे में जानकारी

Compose का इस्तेमाल करके मैसेज लिखना
Android के लिए, Jetpack Compose को यूज़र इंटरफ़ेस (यूआई) टूलकिट के तौर पर सुझाया जाता है. Compose में ऐनिमेशन इस्तेमाल करने का तरीका जानें.

ऐनिमेशन ऐसे विज़ुअल संकेत जोड़ सकते हैं जो उपयोगकर्ताओं को सूचित करते हैं कि आपके डिवाइस में क्या चल रहा है है. वे खास तौर पर तब काम आते हैं, जब यूज़र इंटरफ़ेस (यूआई) की स्थिति बदलती है. जैसे, जब यूज़र इंटरफ़ेस (यूआई) नया हो कॉन्टेंट लोड या नई कार्रवाइयां उपलब्ध हो जाएं. ऐनिमेशन की मदद से, आपके ऐप्लिकेशन को बेहतर दिखाया जा सकता है. इससे ऐप्लिकेशन की क्वालिटी और लुक बेहतर बनता है.

किस तरह के ऐनिमेशन के हिसाब से, Android में अलग-अलग ऐनिमेशन एपीआई शामिल हैं क्लिक करें. इस दस्तावेज़ में, उन अलग-अलग तरीकों के बारे में खास जानकारी दी गई है जो अपने यूज़र इंटरफ़ेस (यूआई) में मोशन जोड़ें.

आपको ऐनिमेशन का इस्तेमाल कब करना चाहिए, इसे बेहतर ढंग से समझने के लिए मटीरियल भी देखें मोशन के बारे में डिज़ाइन गाइड.

बिटमैप ऐनिमेट करें

पहली इमेज. ड्रॉ करने लायक ऐनिमेशन वाला ऐनिमेशन.

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

उदाहरण के लिए, उपयोगकर्ता को यह बताने का एक अच्छा तरीका है कि दो ऐक्शन एक-दूसरे से जुड़े हैं. इसके लिए, चलाएं बटन को ऐनिमेट करें, ताकि टैप करने पर वह रोकें बटन में बदल जाए.

ज़्यादा जानकारी के लिए, ड्रॉ करने लायक ग्राफ़िक ऐनिमेट करना लेख पढ़ें.

यूज़र इंटरफ़ेस (यूआई) दिखने और मोशन इफ़ेक्ट की सुविधा चालू करें

दूसरी इमेज. डायलॉग दिखने और गायब होने पर, एक छोटा ऐनिमेशन होने से यूज़र इंटरफ़ेस (यूआई) में बदलाव कम असरदार होता है.

जब आपको अपने लेआउट में व्यू की दिखने की स्थिति या जगह बदलनी हो, तो बेहतर होगा कि आप थोड़े-बहुत ऐनिमेशन शामिल करें. इससे उपयोगकर्ता को यह समझने में मदद मिलेगी कि यूज़र इंटरफ़ेस (यूआई) कैसे बदल रहा है.

मौजूदा लेआउट में व्यू को मूव करने, दिखाने या छिपाने के लिए, android.animation पैकेज से मिला प्रॉपर्टी ऐनिमेशन सिस्टम, जो Android 3.0 में उपलब्ध है (एपीआई लेवल 11) और उसके बाद वाले वर्शन. ये एपीआई आपके View ऑब्जेक्ट की प्रॉपर्टी समय के साथ लगातार अपडेट करते रहते हैं प्रॉपर्टी बदलने पर व्यू को फिर से ड्रॉ करना. उदाहरण के लिए, पोज़िशन प्रॉपर्टी बदलने पर, व्यू स्क्रीन पर एक जगह से दूसरी जगह पर चला जाता है. अल्फा प्रॉपर्टी बदलने पर, व्यू धीरे-धीरे दिखने लगता है या धीरे-धीरे गायब हो जाता है.

इन एनिमेशन को आसानी से बनाने के लिए, अपने लेआउट पर एनिमेशन चालू करें, ताकि किसी व्यू की दिखने की सेटिंग में बदलाव करने पर, एनिमेशन अपने-आप लागू हो जाए. ज़्यादा जानकारी के लिए, अपने-आप ऐनिमेट होने वाले लेआउट के अपडेट देखें.

प्रॉपर्टी ऐनिमेशन सिस्टम का इस्तेमाल करके ऐनिमेशन बनाने का तरीका जानने के लिए, प्रॉपर्टी ऐनिमेशन की खास जानकारी. सामान्य ऐनिमेशन बनाने के लिए, ये पेज भी देखे जा सकते हैं:

भौतिकी पर आधारित गति

तीसरी इमेज. ObjectAnimator के साथ बनाया गया ऐनिमेशन.

चौथी इमेज. फ़िज़िक्स पर आधारित ऐनिमेशन एपीआई.

जब भी हो सके, अपने ऐनिमेशन में असल दुनिया की भौतिकी लागू करें, ताकि वे नैचुरल दिखें. उदाहरण के लिए, टारगेट में बदलाव होने पर, उन्हें गति बनाए रखनी चाहिए और किसी भी बदलाव के दौरान आसानी से ट्रांज़िशन करना चाहिए.

ये व्यवहार उपलब्ध कराने के लिए, Android की सहायता लाइब्रेरी में भौतिकी आधारित डेटा शामिल है ऐनिमेशन एपीआई, जो आपके ऐनिमेशन को कंट्रोल करने के लिए भौतिकी के नियमों पर भरोसा करते हैं होता है.

भौतिकी पर आधारित दो सामान्य एनिमेशन नीचे दिए गए हैं:

जो ऐनिमेशन, फ़िज़िक्स पर आधारित नहीं होते—जैसे कि ObjectAnimator एपीआई के साथ बनाए गए ऐनिमेशन—बहुत स्थिर होते हैं और उनके तय समय तक. अगर टारगेट वैल्यू में बदलाव होता है, तो आपको टारगेट वैल्यू बदलने का समय है, तो ऐनिमेशन को इस रूप में नए मान के साथ फिर से कॉन्फ़िगर करें नई शुरुआती वैल्यू चुनें और नई टारगेट वैल्यू जोड़ें. विज़ुअल तौर पर, यह प्रोसेस ऐनिमेशन में अचानक एक स्टॉप की शुरुआत होती है और उसके बाद एक अलग गतिविधि शुरू हो जाती है, जैसा कि तीसरी इमेज में दिखाया गया है.

भौतिकी-आधारित एनिमेशन API द्वारा बनाए गए एनिमेशन, जैसे DynamicAnimation का मुख्य सोर्स: बलपूर्वक करें. टारगेट वैल्यू में बदलाव करने से, फ़ोर्स में बदलाव होता है. नया फ़ोर्स, मौजूदा वेग पर लागू होता है. इससे नए टारगेट पर लगातार ट्रांज़िशन होता रहता है. इस प्रोसेस से, ज़्यादा नेचुरल ऐनिमेशन मिलता है, जैसा कि चौथे चित्र में दिखाया गया है.

लेआउट में होने वाले बदलावों को ऐनिमेशन के साथ दिखाना

पांचवीं इमेज. ज़्यादा जानकारी दिखाने के लिए ऐनिमेशन पाने के लिए, लेआउट बदलें या कोई नई गतिविधि शुरू करें.

Android 4.4 (एपीआई लेवल 19) और इसके बाद के वर्शन पर, मौजूदा गतिविधि या फ़्रैगमेंट में लेआउट स्वैप करने पर, ऐनिमेशन बनाने के लिए ट्रांज़िशन फ़्रेमवर्क का इस्तेमाल किया जा सकता है. आपको सिर्फ़ शुरुआत और आखिर में दिखने वाले लेआउट के साथ-साथ, यह बताना होगा कि आपको किस तरह का ऐनिमेशन इस्तेमाल करना है. इसके बाद, सिस्टम गड़बड़ी का पता लगाता है और दो लेआउट के बीच का एनिमेशन. इसका इस्तेमाल, पूरे यूज़र इंटरफ़ेस (यूआई) को बदलने या सिर्फ़ कुछ व्यू को हटाने या बदलने के लिए किया जा सकता है.

उदाहरण के लिए, जब उपयोगकर्ता ज़्यादा जानकारी देखने के लिए किसी आइटम पर टैप करता है, तो आइटम की जानकारी वाला लेआउट, जैसा कि यहां दिखाया गया है इमेज 5.

शुरुआती और आखिरी लेआउट, दोनों Scene, हालांकि शुरुआती सीन यह है आम तौर पर, मौजूदा लेआउट से अपने-आप तय होता है. आप बनाने के लिए Transition, ताकि सिस्टम को बताया जा सके कि ऐनिमेशन का उपयोग करें, फिर कॉल करें TransitionManager.go() और लेआउट को स्वैप करने के लिए सिस्टम ऐनिमेशन चलाता है.

ज़्यादा जानकारी के लिए, ट्रांज़िशन का इस्तेमाल करके लेआउट में बदलावों को ऐनिमेट करें लेख पढ़ें. सैंपल कोड के लिए, BasicTransition देखें.

गतिविधियों के बीच ऐनिमेट करें

Android 5.0 (एपीआई लेवल 21) और इसके बाद वाले वर्शन पर, ऐसे ऐनिमेशन भी बनाए जा सकते हैं एक से दूसरी गतिविधि पर जाएँ. यह पिछले सेक्शन में बताए गए उसी ट्रांज़िशन फ़्रेमवर्क पर आधारित है. हालांकि, इसकी मदद से अलग-अलग गतिविधियों में लेआउट के बीच ऐनिमेशन बनाए जा सकते हैं.

आसान ऐनिमेशन लागू किए जा सकते हैं, जैसे कि नई गतिविधि को स्लाइड करना या फ़ेड करना होगा, लेकिन आप ऐसे ऐनिमेशन भी बना सकते हैं जो एक-दूसरे के साथ हर गतिविधि में शेयर किए गए व्यू. उदाहरण के लिए, जब उपयोगकर्ता किसी आइटम के बारे में ज़्यादा जानकारी देखने के लिए उस पर टैप करता है, तो आपके पास ऐनिमेशन की मदद से नई गतिविधि पर स्विच करने का विकल्प होता है. इस ऐनिमेशन की मदद से, आइटम को स्क्रीन पर आसानी से बड़ा किया जा सकता है. जैसे, पांचवें चित्र में दिखाया गया ऐनिमेशन.

आम तौर पर, startActivity() को कॉल किया जाता है. हालांकि, इसमें ActivityOptions.makeSceneTransitionAnimation() से मिले विकल्पों का बंडल पास किया जाता है. विकल्पों के इस समूह में यह शामिल हो सकता है कि कौन-से दृश्य गतिविधियों को ट्रैक किया जा सके, ताकि ऐनिमेशन के दौरान ट्रांज़िशन फ़्रेमवर्क उन्हें कनेक्ट कर सके.

ज़्यादा संसाधनों के लिए, ये देखें: