उपयोगकर्ता के मुख्य इंटरैक्शन के लिए, फ़िज़िक्स पर आधारित मोशन डाइनैमिक लागू करें. इससे आपके ऐप्लिकेशन की क्वालिटी, फ़्लूडिटी, और रिस्पॉन्सिवनेस बेहतर होगी. स्प्रिंग-ड्रिवन मैकेनिक्स का इस्तेमाल करें. इसके लिए, अवधि के हिसाब से तय की गई ईज़िंग कर्व का इस्तेमाल न करें. इससे यह पक्का किया जा सकेगा कि मोशन, उपयोगकर्ता के जेस्चर के मोमेंटम को बनाए रखे और पूरी तरह से इंटरप्ट किया जा सके. साथ ही, ट्रांज़िशन को आसान बनाया जा सके.
लागू करने की ज़रूरी शर्तें
एईपी में शामिल होने के लिए, आपके ऐप्लिकेशन को ये ज़रूरी शर्तें पूरी करनी होंगी:
- ऐप्लिकेशन में प्राइमरी नेविगेशन या स्टेट में बदलाव के दौरान, विज़ुअल ट्रांज़िशन 0 मि॰से॰ का नहीं होना चाहिए. इसमें स्क्रीन को तुरंत बदलना या लेआउट को तुरंत बदलना भी शामिल है.
- ऐप्लिकेशन के सभी मुख्य इंटरैक्शन, नेविगेशन, और कुछ समय के लिए दिखने वाले व्यू में, 0 मि॰से॰ से ज़्यादा समय तक दिखने वाले विज़ुअल ट्रांज़िशन का इस्तेमाल किया जाना चाहिए.
- इंटरपोलेशन के तरीकों का इस्तेमाल करके, उपयोगकर्ता के कॉन्टेक्स्ट को बनाए रखें. जैसे, क्रॉस-फ़ेड, स्टैंडर्ड ईज़िंग, शेयर किए गए एलिमेंट के ट्रांज़िशन या फ़िज़िक्स पर आधारित स्प्रिंग ऐनिमेशन.
अहम जानकारी: अगर आपको ऐप्लिकेशन का यूज़र इंटरफ़ेस (यूआई) बनाने के लिए Jetpack Compose का इस्तेमाल करना है, तो पोज़िशन और स्थिति में बदलाव करने के लिए spring() AnimationSpec का इस्तेमाल करें. साथ ही, dampingRatio और stiffness को ट्यून करके, नैचुरल और रिस्पॉन्सिव फ़ील पाएं.
दिशा-निर्देश लागू होने की शर्तें
यह दिशा-निर्देश इन पर लागू होता है:
- ऐसे ऐप्लिकेशन के लिए जो Android के अलावा किसी अन्य प्लैटफ़ॉर्म पर, फ़िज़िक्स पर आधारित मोशन को लागू करने की सुविधा देते हैं.
- उन सभी डिवाइसों के साइज़, डाइमेंशन या कॉन्फ़िगरेशन के लिए जहां ऐप्लिकेशन उपलब्ध है.
मुक्तियाँ
इस दिशा-निर्देश के लिए कोई छूट नहीं है.
सुविधा से जुड़े दस्तावेज़ और संसाधन
यहां दिए गए संसाधनों में, फ़िज़िक्स के नियमों के आधार पर मोशन सुविधा को लागू करने के बारे में दिशा-निर्देश और तकनीकी जानकारी दी गई है. ये संसाधन सिर्फ़ आपकी जानकारी के लिए हैं. इनमें प्रोग्राम की अन्य ज़रूरी शर्तें शामिल नहीं हैं.
- Jetpack Compose ट्यूटोरियल
- ऐनिमेशन को पसंद के मुताबिक बनाना
- स्प्रिंग फ़िज़िक्स का इस्तेमाल करके मूवमेंट को ऐनिमेट करना