खास जानकारी

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

  • विंडोइंग का सुविधाजनक सिस्टम उपलब्ध कराता है.

  • यूज़र इंटरफ़ेस (यूआई) को लागू करने के लिए, Compatibility Test Suite (CTS) से जुड़े इंजीनियरिंग के जोखिम, लागत, और जटिलताओं को कम करता है.

स्केलेबल यूज़र इंटरफ़ेस (यूआई), इन-व्हीकल इन्फ़ॉर्मेशन सिस्टम (आईवीआई) के मॉडर्न डिज़ाइन के साथ काम करता है. इन डिज़ाइन में, विंडो को डाइनैमिक तरीके से व्यवस्थित करने की ज़रूरत होती है.

Android 17 में, विंडोइंग की बेहतर सुविधाओं के लिए ये फ़ीचर जोड़े गए हैं:

नमूना अनुभव

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

फ़्लोटिंग ऐप्लिकेशन के साथ मैप का बैकग्राउंड

मैप के बैकग्राउंड का ऐसा कॉन्फ़िगरेशन जिसमें अन्य ऐप्लिकेशन, मैप के ऊपर फ़्लोट करते हैं.

ऐप्लिकेशन का बैकग्राउंड

ऐप्लिकेशन के बैकग्राउंड का ऐसा कॉन्फ़िगरेशन जिसमें फ़्लोटिंग पैनल दिखते हैं.

पिन किया गया ऐप्लिकेशन, अन्य ऐप्लिकेशन के नीचे दिखता है

पिन किया गया कोई ऐप्लिकेशन, जैसे कि विजेट कंटेनर. इसके ऊपर अन्य ऐप्लिकेशन लॉन्च होते हैं.

कंडिशनल फ़्लोटिंग पैनल

कंडिशनल फ़्लोटिंग पैनल, जो सिर्फ़ तब दिखता है, जब कुछ खास शर्तें पूरी होती हैं. जैसे, मीडिया चलाने पर या किसी अलर्ट के ट्रिगर होने पर.

पिन किया गया ऐप्लिकेशन, ड्राइवर के पास दिखता है

पिन किया गया कोई ऐप्लिकेशन, ड्राइवर के पास दिखता है.

स्प्लिट स्क्रीन लेआउट

स्प्लिट स्क्रीन लेआउट, जिसमें दो ऐप्लिकेशन एक साथ दिखते हैं.

इंटरैक्टिव स्प्लिट स्क्रीन

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

बड़ी स्क्रीन के लिए मल्टीएंकर लेआउट

बड़ी स्क्रीन के लिए डिज़ाइन किया गया मल्टीएंकर लेआउट.

होम स्क्रीन का ऐसा लेआउट जिसमें ऐप्लिकेशन कैरसेल दिखता है.

फ़ायदे और कंप्लायंस

स्केलेबल यूज़र इंटरफ़ेस (यूआई) के ये फ़ायदे हैं:

  • टेस्ट का जोखिम कम होना: यह फ़्रेमवर्क, पहले से सर्टिफ़ाइड है और CTS के साथ काम करता है. इससे, प्रोग्राम साइकल के आखिर में टेस्ट फ़ेल होने का जोखिम कम हो जाता है. स्केलेबल यूज़र इंटरफ़ेस (यूआई) की मदद से, इंजीनियरिंग में लगने वाले महीनों के काम को बचाया जा सकता है और कंप्लायंस को तेज़ी से पूरा किया जा सकता है.

  • डिज़ाइन में ज़्यादा फ़्लेक्सिबिलिटी: मौजूदा ऑटोमोटिव विंडोइंग मॉडल को फिर से बनाने की क्षमता. स्केलेबल यूज़र इंटरफ़ेस (यूआई), बेहतर और अलग-अलग डिज़ाइन के साथ काम करता है.

  • लागू करने में कम जटिलता: कॉन्फ़िगरेशन-ड्रिवन एक्सएमएल मॉडल में ऐब्स्ट्रैक्शन की वजह से, कस्टम विंडोइंग लॉजिक के लिए एंट्री बैरियर कम हो जाता है.

  • बेहतर परफ़ॉर्मेंस: स्केलेबल यूज़र इंटरफ़ेस (यूआई), बेहतर परफ़ॉर्मेंस वाले विंडोइंग फ़ाउंडेशन पर चलता है. यह स्टैंडर्ड Android के साथ पूरी तरह इंटिग्रेट होता है. ट्रांज़िशन आसानी से होते हैं, जिससे सीधे ऑप्टिमाइज़ेशन किया जा सकता है.

कोर बिल्डिंग ब्लॉक

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

एक्सएमएल-ड्रिवन अप्रोच की मदद से, Android Automotive OS (AAOS) में जटिल विंडोइंग सिस्टम को मैनेज करने से जुड़ी सामान्य चुनौतियों को हल किया जा सकता है. जैसे, सटीक पोज़िशनिंग, Z-ऑर्डर के टकराव, और ऐप्लिकेशन फ़ोकस.

स्केलेबल यूज़र इंटरफ़ेस (यूआई) में ये कोर बिल्डिंग ब्लॉक शामिल हैं.

पैनल

पैनल, स्क्रीन पर दिखने वाला बुनियादी रेक्टैंगुलर कंटेनर होता है. हर पैनल, अलग से मैनेज करने के लिए, रूट टास्क से मैप होता है. किसी पैनल में, ऐप्लिकेशन टास्क (TaskPanel) या व्यू-आधारित कॉन्टेंट हो सकता है. जैसे, विजेट (DecorPanel). ज़्यादा जानने के लिए, पैनल कॉन्फ़िगर करना लेख पढ़ें.

वैरिएंट

वैरिएंट, किसी पैनल के लिए खास विज़ुअल स्टेट तय करता है. इसमें bounds (पोज़िशन और साइज़), visibility, layer (Z-ऑर्डर), और corner रेडियस जैसी प्रॉपर्टी शामिल होती हैं. किसी एक पैनल के कई वैरिएंट हो सकते हैं. जैसे, opened, closed, या minimized. ज़्यादा जानने के लिए, विज़ुअल स्टेट डिज़ाइन करने के लिए वैरिएंट का इस्तेमाल करना लेख पढ़ें.

ट्रांज़िशन

ट्रांज़िशन, यह तय करता है कि कोई पैनल, अपनी मौजूदा स्टेट fromVariant से नई स्टेट toVariant में कैसे जाता है. कोई Event, ट्रांज़िशन को ट्रिगर करता है. इससे यह तय होता है कि स्टेट में बदलाव के दौरान, पैनल किस ऐनिमेशन का इस्तेमाल करेगा. किसी पैनल को अपनी मौजूदा स्टेट से toVariant में जाना चाहिए. सिंक्रनाइज़ेशन के लिए, कोर Window Manager सभी ट्रांज़िशन को ऐनिमेट और कोऑर्डिनेट करता है.

  • इवेंट: यूज़र इंटरफ़ेस (यूआई) में बदलाव शुरू करने के लिए ट्रिगर. कोई ओईएम या सिस्टम, किसी ट्रिगर को पहले से तय कर सकता है. उदाहरण के लिए, _System_OnHomeEvent, _System_TaskOpenEvent, या कस्टम नेविगेशन बटन दबाना.

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

  • यूज़र इंटरफ़ेस (यूआई) के जटिल व्यवहार तय करना: यूज़र इंटरफ़ेस (यूआई) के जटिल इंटरैक्शन तय करना.

  • विंडोइंग सिस्टम को व्यवस्थित करना: विंडो की पोज़िशनिंग और लेयरिंग को कंट्रोल करना.

  • विज़ुअल थीम लागू करना: एक जैसा ब्रैंडिंग और डिज़ाइन लागू करना.

  • कोड की जटिलता कम करना: कस्टम कोड डेवलपमेंट की ज़रूरत को कम करना.

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

सिस्टम यूज़र इंटरफ़ेस (यूआई) के बटन

इंटेंट को ट्रिगर करने के अलावा, CarSystemBarButtons टैप करने पर, event selectedEvent, और unselectedEvent एट्रिब्यूट का इस्तेमाल करके, स्केलेबल यूज़र इंटरफ़ेस (यूआई) का कोई इवेंट ट्रिगर कर सकते हैं.

event से पता चलता है कि बटन टैप करने पर कौनसे इवेंट को ट्रिगर करना है. अगर किसी इवेंट पर ज़्यादा विस्तृत कंट्रोल की ज़रूरत है, तो selectedEvent और unselectedEvent एट्रिब्यूट का इस्तेमाल करके, यह तय करें कि बटन को चुनने या चुने हुए का निशान हटाने पर कौनसे इवेंट को ट्रिगर करना है.

सिस्टम यूज़र इंटरफ़ेस (यूआई) को कब लागू करना चाहिए

इस सेक्शन में, स्केलेबल यूज़र इंटरफ़ेस (यूआई) के बेहतर इस्तेमाल के बारे में बताया गया है.

मल्टीपैनल लेआउट बनाना, जो हमेशा दिखते रहें

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

प्राइमरी ऐप्लिकेशन (जैसे, नेविगेशन) के लिए TaskPanels और यूज़र इंटरफ़ेस (यूआई) एलिमेंट के लिए DecorPanels का इस्तेमाल करें. इन्हें व्यू के तौर पर, TaskPanels के बीच में रखा जाना चाहिए.

डाइनैमिक होम सीन लागू करना

होम सीन लागू करें, जिसमें एक साथ दिखने वाले और इंटरैक्टिव ऐप्लिकेशन पैनल शामिल हों. उदाहरण के लिए, मैप, मीडिया प्लेयर, और ऐप्लिकेशन ग्रिड.

सभी काम के पैनल को उनके opened या default होम वैरिएंट में ट्रांज़िशन करने के लिए, _System_HomeEvent को कॉन्फ़िगर करें.

कॉन्टेक्स्ट के हिसाब से ओवरले लागू करना

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

पूरी तरह से सजावटी या विजेट-होस्टिंग एलिमेंट के लिए, DecorPanels का इस्तेमाल करें. अगर कोई विजेट, पूरी तरह से काम करने वाले और लॉन्च किए जा सकने वाले ऐप्लिकेशन को होस्ट करता है, तो Panel > TaskPanel सबसे सही विकल्प है. व्यू-आधारित यूज़र इंटरफ़ेस (यूआई) एलिमेंट के लिए, DecorPanels का इस्तेमाल करें. ऐसा तब करें, जब लेयरिंग को TaskPanel लेयरिंग के साथ सिंक्रनाइज़ करना हो.

पैनल के जटिल इंटरैक्शन डिज़ाइन करना

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

खास, नॉन-सिस्टम-स्टैंडर्ड Transitions को ट्रिगर करने के लिए, कस्टम Events तय करें.