कारों में बेहतर, डाइनैमिक, और मल्टी-पैनल वाले उपयोगकर्ता अनुभव बनाने के लिए, स्केलेबल यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करें. स्केलेबल यूज़र इंटरफ़ेस (यूआई):
विंडोइंग का सुविधाजनक सिस्टम उपलब्ध कराता है.
यूज़र इंटरफ़ेस (यूआई) को लागू करने के लिए, Compatibility Test Suite (CTS) से जुड़े इंजीनियरिंग के जोखिम, लागत, और जटिलताओं को कम करता है.
स्केलेबल यूज़र इंटरफ़ेस (यूआई), इन-व्हीकल इन्फ़ॉर्मेशन सिस्टम (आईवीआई) के कई आधुनिक डिज़ाइन के साथ काम करता है. इन डिज़ाइन के लिए, विंडो की डाइनैमिक व्यवस्था की ज़रूरत होती है. साथ ही, यह स्टैटिक विंडो की व्यवस्था वाले पुराने डिज़ाइन के साथ भी काम करता है.
Android 17 में, ऐडवांस विंडोइंग से जुड़ी ये सुविधाएं जोड़ी गई हैं:
- हेड्स अप नोटिफ़िकेशन पैनल लागू करना
- सिस्टम बार को पसंद के मुताबिक बनाना
- WindowManager इनवेरिएंट के साथ टेस्ट कंप्लायंस को ज़्यादा से ज़्यादा करना
- सेटअप विज़र्ड को इंटिग्रेट करना
अनुभव के उदाहरण
स्केलेबल यूज़र इंटरफ़ेस (यूआई) की मदद से, विंडोइंग के कई कॉन्फ़िगरेशन बनाए जा सकते हैं. यहां स्केलेबल यूज़र इंटरफ़ेस (यूआई) को इस्तेमाल करने के लिए, कुछ उदाहरण दिए गए हैं:
फ़्लोटिंग ऐप्लिकेशन के साथ मैप का बैकग्राउंड
मैप के बैकग्राउंड वाला कॉन्फ़िगरेशन, जिसमें अन्य ऐप्लिकेशन ऊपर की ओर फ़्लोट करते हैं.
ऐप्लिकेशन का बैकग्राउंड
ऐप्लिकेशन के बैकग्राउंड वाला कॉन्फ़िगरेशन, जिसमें फ़्लोटिंग पैनल दिखते हैं.
पिन किया गया ऐप्लिकेशन, अन्य ऐप्लिकेशन के नीचे
पिन किया गया ऐप्लिकेशन, जैसे कि विजेट कंटेनर. इसके ऊपर अन्य ऐप्लिकेशन लॉन्च होते हैं.
कंडिशनल फ़्लोटिंग पैनल
कंडिशनल फ़्लोटिंग पैनल, जो सिर्फ़ तब दिखता है, जब कुछ खास शर्तें पूरी होती हैं. जैसे, मीडिया चलाने पर या कोई अलर्ट ट्रिगर होने पर.
पिन किया गया ऐप्लिकेशन, ड्राइवर के पास
पिन किया गया ऐप्लिकेशन, जो ड्राइवर के पास दिखता है.
स्प्लिट स्क्रीन लेआउट
स्प्लिट स्क्रीन लेआउट, जिसमें दो ऐप्लिकेशन साथ-साथ दिखते हैं.
इंटरैक्टिव स्प्लिट स्क्रीन
इंटरैक्टिव स्प्लिट स्क्रीन लेआउट, जिसमें डाइनैमिक तौर पर साइज़ बदला जा सकता है.
बड़ी स्क्रीन के लिए मल्टीएंकर लेआउट
बड़ी स्क्रीन के लिए डिज़ाइन किया गया मल्टीएंकर लेआउट.
होम स्क्रीन पर ऐप्लिकेशन कैरसेल
होम स्क्रीन लेआउट, जिसमें ऐप्लिकेशन कैरसेल दिखता है.
फ़ायदे और कंप्लायंस
स्केलेबल यूज़र इंटरफ़ेस (यूआई) के ये फ़ायदे हैं:
टेस्ट का जोखिम कम होना: यह फ़्रेमवर्क, पहले से सर्टिफ़ाइड है और CTS के साथ काम करता है. इससे प्रोग्राम साइकल में, टेस्ट के आखिर में फ़ेल होने का जोखिम कम हो जाता है. स्केलेबल यूज़र इंटरफ़ेस (यूआई) की मदद से, इंजीनियरिंग में लगने वाले महीनों के काम को बचाया जा सकता है और कंप्लायंस को तेज़ी से पूरा किया जा सकता है.
डिज़ाइन में ज़्यादा फ़्लेक्सिबिलिटी: मौजूदा कई जटिल ऑटोमोटिव विंडोइंग मॉडल को फिर से बनाने की क्षमता. स्केलेबल यूज़र इंटरफ़ेस (यूआई), बेहतर और अलग-अलग डिज़ाइन के साथ काम करता है.
लागू करने में कम जटिलता: कॉन्फ़िगरेशन-ड्रिवन XML मॉडल को हाई-लेवल में ऐब्स्ट्रैक्ट करने से, कस्टम विंडोइंग लॉजिक के लिए एंट्री बैरियर कम हो जाता है.
बेहतर परफ़ॉर्मेंस: स्केलेबल यूज़र इंटरफ़ेस (यूआई), हाई-परफ़ॉर्मेंस विंडोइंग फ़ाउंडेशन पर काम करता है. यह स्टैंडर्ड Android के साथ पूरी तरह से इंटिग्रेट होता है. ट्रांज़िशन आसानी से होते हैं, जिससे सीधे तौर पर ऑप्टिमाइज़ेशन किया जा सकता है.
कोर बिल्डिंग ब्लॉक
स्केलेबल यूज़र इंटरफ़ेस (यूआई) की मदद से, ओईएम के लिए खास कोड की ज़रूरत कम हो जाती है. साथ ही, इसे अपडेट करना आसान हो जाता है और लॉन्च के जोखिम कम हो जाते हैं. ऐसा इसलिए, क्योंकि यह कमियों को दूर करता है और सर्टिफ़िकेशन से जुड़ी समस्याओं को कम करता है.
XML-ड्रिवन अप्रोच की मदद से, AAOS में जटिल विंडोइंग सिस्टम को मैनेज करने से जुड़ी सामान्य चुनौतियों को हल किया जा सकता है. जैसे, सटीक पोज़िशनिंग, Z-ऑर्डर के टकराव, और ऐप्लिकेशन फ़ोकस.
स्केलेबल यूज़र इंटरफ़ेस (यूआई) में ये कोर बिल्डिंग ब्लॉक शामिल हैं.
पैनल
पैनल, स्क्रीन पर दिखने वाला बुनियादी रेक्टैंगुलर कंटेनर होता है. हर पैनल, अलग से मैनेज करने के लिए, रूट टास्क से मैप होता है. किसी पैनल में,
ऐप्लिकेशन टास्क (TaskPanel) या व्यू-आधारित कॉन्टेंट हो सकता है. जैसे, विजेट (DecorPanel).
ज़्यादा जानने के लिए, पैनल कॉन्फ़िगर करना लेख पढ़ें.
वैरिएंट
वैरिएंट, किसी पैनल के लिए खास विज़ुअल स्टेट तय करता है. इसमें bounds (पोज़िशन और साइज़), visibility, layer (Z-ऑर्डर), और corner रेडियस जैसी प्रॉपर्टी शामिल होती हैं. किसी पैनल के कई वैरिएंट हो सकते हैं. जैसे, opened, closed, या minimized. ज़्यादा जानने के लिए, विज़ुअल स्टेट डिज़ाइन करने के लिए वैरिएंट का इस्तेमाल करना लेख पढ़ें.
ट्रांज़िशन
ट्रांज़िशन तय करता है कि कोई पैनल, अपनी मौजूदा स्टेट fromVariant से नई स्टेट toVariant में कैसे जाता है. कोई Event, ट्रांज़िशन को ट्रिगर करता है. इससे तय होता है कि स्टेट में बदलाव के दौरान, पैनल किस ऐनिमेशन का इस्तेमाल करेगा. किसी पैनल को अपनी मौजूदा स्टेट से toVariant में जाना चाहिए. सिंक्रनाइज़ेशन के लिए, कोर Window Manager सभी ट्रांज़िशन को ऐनिमेट और कोऑर्डिनेट करता है.
- इवेंट: यूज़र इंटरफ़ेस (यूआई) में बदलाव शुरू करने के लिए ट्रिगर. कोई ओईएम या सिस्टम, ट्रिगर को पहले से तय कर सकता है. उदाहरण के लिए,
_System_OnHomeEvent,_System_TaskOpenEvent, या कस्टम नेविगेशन बटन दबाना.
उदाहरण के लिए, स्केलेबल यूज़र इंटरफ़ेस (यूआई), ट्रांज़िशन को ट्रिगर करने के लिए इवेंट का इस्तेमाल करता है. इन ट्रांज़िशन से, यूज़र इंटरफ़ेस (यूआई) में डाइनैमिक बदलाव दिखाने के लिए, पैनल को एक वैरिएंट से दूसरे वैरिएंट में ऐनिमेट किया जाता है. स्केलेबल यूज़र इंटरफ़ेस (यूआई), इन बदलावों के बारे में अन्य सिस्टम ऐप्लिकेशन को बताता है, ताकि ज़रूरत के हिसाब से कॉन्टेंट को अडजस्ट किया जा सके. XML में यूज़र इंटरफ़ेस (यूआई) के रिलेशनशिप तय करके, ये काम किए जा सकते हैं:
यूज़र इंटरफ़ेस (यूआई) के जटिल व्यवहार तय करना: यूज़र इंटरफ़ेस (यूआई) के जटिल इंटरैक्शन तय करना.
विंडोइंग सिस्टम की व्यवस्था करना: विंडो की पोज़िशनिंग और लेयरिंग को कंट्रोल करना.
विज़ुअल थीम लागू करना: एक जैसी ब्रैंडिंग और डिज़ाइन लागू करना.
कोड की जटिलता कम करना: कस्टम कोड डेवलपमेंट की ज़रूरत कम करना.
ज़्यादा जानने के लिए, ट्रांज़िशन कॉन्फ़िगर करना लेख पढ़ें.
सिस्टम यूज़र इंटरफ़ेस (यूआई) के बटन
इंटेंट ट्रिगर करने के अलावा, CarSystemBarButtons टैप करने पर, event, selectedEvent, और
unselectedEvent एट्रिब्यूट का इस्तेमाल करके,
स्केलेबल यूज़र इंटरफ़ेस (यूआई) का कोई इवेंट ट्रिगर कर सकते हैं.
event से पता चलता है कि बटन टैप करने पर कौनसे इवेंट को ट्रिगर करना है. अगर किसी इवेंट पर ज़्यादा विस्तृत कंट्रोल की ज़रूरत है, तो selectedEvent
और unselectedEvent एट्रिब्यूट का इस्तेमाल करके, यह तय किया जा सकता है कि बटन
चुने जाने या चुने हुए का निशान हटाए जाने पर, कौनसे इवेंट को ट्रिगर करना है.
सिस्टम यूज़र इंटरफ़ेस (यूआई) को कब लागू करना चाहिए
इस सेक्शन में, स्केलेबल यूज़र इंटरफ़ेस (यूआई) के बेहतर इस्तेमाल के बारे में बताया गया है.
- परसिस्टेंट मल्टीपैनल लेआउट बनाना
- डाइनैमिक होम सीन लागू करना
- कॉन्टेक्स्ट के हिसाब से ओवरले लागू करना
- पैनल के जटिल इंटरैक्शन डिज़ाइन करना
परसिस्टेंट मल्टीपैनल लेआउट बनाना
मल्टी-ज़ोन अनुभव बनाएं, जिसमें स्क्रीन के अलग-अलग हिस्सों को हमेशा के लिए खास फ़ंक्शन के लिए तय किया गया हो. उदाहरण के लिए, मीडिया कंट्रोल, क्लाइमेट स्ट्रिप या फ़ुल-स्क्रीन मैप.
प्राइमरी ऐप्लिकेशन (जैसे, नेविगेशन) के लिए TaskPanels और यूज़र इंटरफ़ेस (यूआई) एलिमेंट के लिए DecorPanels का इस्तेमाल करें. इन्हें व्यू के तौर पर, TaskPanels के बीच में रखा जाना चाहिए.
डाइनैमिक होम सीन लागू करना
होम सीन लागू करें, जिसमें एक साथ दिखने वाले और इंटरैक्टिव ऐप्लिकेशन पैनल शामिल हों. उदाहरण के लिए, मैप, मीडिया प्लेयर, और ऐप्लिकेशन ग्रिड.
सभी काम के पैनल को उनके opened या default होम वैरिएंट में ट्रांज़िशन करने के लिए, _System_HomeEvent को कॉन्फ़िगर करें.
कॉन्टेक्स्ट के हिसाब से ओवरले लागू करना
ऐप्लिकेशन के बाहर के यूज़र इंटरफ़ेस (यूआई) एलिमेंट जोड़ें. जैसे, कॉन्टेक्स्ट के हिसाब से विजेट, कस्टम ब्रैंडिंग, और ड्रैग बार. इन्हें ऐप्लिकेशन टास्क के साथ कोऑर्डिनेट करके ऐनिमेट किया जा सकता है.
पूरी तरह से सजावटी या विजेट-होस्टिंग एलिमेंट के लिए, DecorPanels का इस्तेमाल करें. अगर कोई
विजेट, पूरी तरह से काम करने वाला और लॉन्च किया जा सकने वाला ऐप्लिकेशन होस्ट करता है, तो Panel > TaskPanel सबसे
सही है. व्यू-आधारित यूज़र इंटरफ़ेस (यूआई) एलिमेंट के लिए, DecorPanels का इस्तेमाल करें. ऐसा तब करें, जब लेयरिंग को TaskPanel लेयरिंग के साथ सिंक्रनाइज़ करना हो.
पैनल के जटिल इंटरैक्शन डिज़ाइन करना
ऐडवांस यूज़र-ड्रिवन ऐक्शन डिज़ाइन करें. जैसे, किसी ऐप्लिकेशन पैनल का साइज़ डाइनैमिक तौर पर बदलना या मुख्य डिसप्ले कॉन्टेंट के आधार पर, इंस्ट्रूमेंट क्लस्टर व्यू को अडजस्ट करना.
खास, नॉन-सिस्टम-स्टैंडर्ड Transitions को ट्रिगर करने के लिए, कस्टम Events तय करें.