इस सेक्शन में, स्केलेबल यूज़र इंटरफ़ेस (यूआई) के सबसे सही इस्तेमाल के बारे में बताया गया है.
- स्थायी मल्टीपैनल लेआउट बनाना
- डाइनैमिक होम सीन लागू करना
- कॉन्टेक्स्ट के हिसाब से ओवरले लागू करना
- मुश्किल पैनल इंटरैक्शन डिज़ाइन करना
इस सुविधा को चालू करना
सिस्टम यूआई कॉन्फ़िगरेशन फ़ाइल (config.xml
या इसी तरह की कोई अन्य फ़ाइल) में ज़रूरी फ़्लैग सेट करें:
<bool name="config_enableScalableUI">true</bool>
सिस्टम कॉन्फ़िगरेशन की पुष्टि करना
पुष्टि करें कि आपके सिस्टम में ज़रूरी सुविधा शामिल हो. साथ ही, विंडो बनाने की किसी भी लेगसी या टकराव वाली सुविधा को बंद करें:
सिस्टम में यह सुविधा शामिल होनी चाहिए,
android.software.car.splitscreen_multitasking
पुष्टि करें कि लेगसी विंडो या स्प्लिट-स्क्रीन की ऐसी सुविधाएं बंद हों जो नए रूट-टास्क मॉडल के साथ काम नहीं करती हैं.
पैनल और वैरिएंट तय करना
Panel
कॉन्फ़िगरेशन वाली सभी कॉन्फ़िगरेशन फ़ाइलों का एलान करने के लिए, window_states
नाम का एक ऐरे रिसॉर्स जोड़ें.
भूमिका मैपिंग की समस्या को हल करने के लिए, पैनल को role
एट्रिब्यूट का इस्तेमाल करना होगा. इससे पैनल को उन ऐप्लिकेशन से मैप किया जा सकेगा जिन्हें वे होस्ट करते हैं. role
, कॉम्पोनेंट के नामों की एक ऐरे को रेफ़रंस देता है. जैसे, role="@array/nav_components
.
ट्रांज़िशन तय करना
हर पैनल की परिभाषा में, सिस्टम या कस्टम इवेंट को टारगेट वैरिएंट से मैप करके ट्रांज़िशन तय करें. उदाहरण के लिए, नेविगेशन पैनल के लिए व्यवहार तय करने के लिए:
<Transitions>
<Transition onEvent="_System_TaskOpenEvent" toVariant="@id/opened"/>
<Transition onEvent="_System_HomeEvent" toVariant="@id/closed"/>
<Transition onEvent="@string/event_system_nav_focus_lost" toVariant="@id/minimized"/>
</Transitions>