Android 12 एक नया दोहरी फलक डिज़ाइन पेश करता है, बाईं ओर एक स्थिर L0 मेनू और दाईं ओर एक सामग्री फलक के साथ। यह सुविधा कई नए अनुकूलन विकल्प पेश करती है। यह लेख उन सुविधाओं का विवरण देता है और बताता है कि आप अपनी प्राथमिकताओं को कैसे अनुकूलित कर सकते हैं।
एकल फलक पर वापस जाएं
डिफ़ॉल्ट रूप से, CarSettings अब दोहरा फलक दृश्य प्रदर्शित करता है जब अनुप्रयोग विंडो चौड़ाई में 1400dp से अधिक या उसके बराबर होती है और अन्यथा एकल फलक दृश्य। किसी विशिष्ट डिवाइस के लिए इसे कस्टमाइज़ करने के लिए, आवश्यक कॉन्फ़िगरेशन मानों को लक्षित करने के लिए रनटाइम रिसोर्स ओवरले (RRO) का उपयोग करें:
मूल्य | विवरण |
---|---|
config_global_force_single_pane | यदि संपूर्ण एप्लिकेशन को एकल-फलक कॉन्फ़िगरेशन में चलाना है, तो true पर सेट करें। |
config_homepage_fragment_class | मुखपृष्ठ के लिए प्रारंभिक खंड निर्दिष्ट करता है। दोहरे फलक में, इसका उपयोग सामग्री फलक में प्रारंभिक खंड के लिए किया जाता है। एकल-फलक में, यह मुखपृष्ठ खंड होना चाहिए। |
हैडर कुंजियाँ
क्योंकि विभिन्न CarSettings गतिविधियों में एक अनुकूलित IA हो सकता है, अनुकूलन को सरल बनाने के लिए एक हेडर कुंजी मैपिंग प्रदान की जाती है। AndroidManifest.xml
में, दोहरी फलक का समर्थन करने वाली प्रत्येक गतिविधि के मेटाडेटा में एक TOP_LEVEL_HEADER_KEY
निर्दिष्ट होता है। यह मान res/values/header_keys.xml
में निर्दिष्ट एक कुंजी की ओर इशारा करता है, जिसे शीर्ष-स्तरीय मेनू आइटम की वरीयता कुंजी से मैप किया जाता है, जिसके अंतर्गत प्रारंभिक खंड आता है। इसलिए, यदि किसी गतिविधि का प्रारंभिक अंश बदल दिया जाता है या IA को इस तरह पुनर्व्यवस्थित किया जाता है कि एक विशेष टुकड़ा एक अलग शीर्ष-स्तरीय वरीयता के अंतर्गत आता है, तो सही मान निर्दिष्ट करने के लिए header_keys.xml
फ़ाइल में प्रासंगिक मैपिंग को अद्यतन किया जा सकता है .
गतिविधि लेआउट अनुकूलित करें
BaseCarSettingsActivity
का res/layout/car_setting_activity
और इन अनुभागों में स्थित है:
मूल्य | विवरण |
---|---|
top_level_menu | शीर्ष-स्तरीय मेनू खंड दोहरे फलक कॉन्फ़िगरेशन में दिखाया गया है। इस खंड की चौड़ाई top_level_menu_width द्वारा निर्दिष्ट की जाती है। इस दृश्य के चारों ओर एक चेसिस बेस लेआउट (टूलबार के साथ) लिपटा हुआ है। |
top_level_divider | लंबवत रेखा जो दो पैन को विभाजित करती है और जिसकी चौड़ाई आप top_level_divider_width से अनुकूलित कर सकते हैं। |
fragment_container_wrapper | सामग्री फलक के लिए रैपर लेआउट (या सिंगलपैन कॉन्फ़िगरेशन में मुख्य फलक)। इस दृश्य के चारों ओर एक चेसिस बेसलेआउट (टूलबार के साथ) लिपटा हुआ है। |
settings_focus_parking_view | जरूरत पड़ने पर रोटरी फोकस रखने के लिए FocusParkingView का कस्टम कार्यान्वयन। |
fragment_container | मुख्य सामग्री कंटेनर। सामग्री के टुकड़े इसे लक्ष्य लेआउट के रूप में उपयोग करते हैं। |
restricted_message | BaseFragment के उदाहरणों पर दिखाया जाने वाला यूएक्स-प्रतिबंधित अवरोधन दृश्य। |
चित्रा 1. दोहरी फलक लेआउट
शीर्ष-स्तरीय प्राथमिकताएं
पसंद
शीर्ष-स्तरीय प्राथमिकताएं कस्टम CarUiPreferences हैं जिनमें वरीयता ऊंचाई और पृष्ठभूमि आकार को बदलने के लिए थोड़ा संशोधित लेआउट होता है। इन प्राथमिकताओं के स्वरूप को अनुकूलित करने के कई अलग-अलग तरीके हैं:
मूल्य | विवरण |
---|---|
res/layout/top_level_preference.xml | संपूर्ण वरीयता लेआउट को ओवरले करें। |
top_level_preference_min_height | शीर्ष-स्तरीय वरीयता की न्यूनतम ऊंचाई। सामग्री के आधार पर (उदाहरण के लिए, एक उपशीर्षक मौजूद है), प्राथमिकताएं इस मान से अधिक लंबी हो सकती हैं। |
top_level_preference_corner_radius | कोने की गोलाई की त्रिज्या। |
top_level_preference_background | शीर्ष-स्तरीय प्राथमिकताओं की पृष्ठभूमि जब वर्तमान में हाइलाइट नहीं की जाती है। |
top_level_preference_highlight | हाइलाइट किए जाने पर शीर्ष-स्तरीय प्राथमिकताओं की पृष्ठभूमि। |
माउस
चित्र 2 दिखाता है कि कैसे शीर्ष-स्तरीय आइकन अब रंगीन पृष्ठभूमि आकार के अंदर एक सदिश चिह्न से मिलकर बने होते हैं। यह आकार वर्तमान में एक अंडाकार या आयताकार आकार का समर्थन करने के लिए कॉन्फ़िगर किया गया है। डिफ़ॉल्ट रूप से, आकार अंडाकार पर सेट होता है।
डिफ़ॉल्ट को बदलने के लिए, config_top_level_icon_shape
में मान को संशोधित करें (जहाँ 0 आयत है और 1 अंडाकार है)। अग्रभूमि आइकन को पृष्ठभूमि आकार से top_level_foreground_icon_inset
द्वारा इनसेट करके आइकन बनाए जाते हैं। प्रत्येक शीर्ष-स्तरीय आइकन में एक अग्रभूमि रंग होता है जो res/values/colors.xml
में निर्दिष्ट होता है और एक पृष्ठभूमि रंग res/color
फ़ोल्डर में निर्दिष्ट होता है।
एक अनुकूलित उपस्थिति बनाने के लिए, आप सभी रंग मानों को ओवरराइड कर सकते हैं।
चित्र 2. शीर्ष-स्तरीय वरीयता घटक
config_top_level_injection_categories
श्रेणियों द्वारा निर्दिष्ट श्रेणियों में आने वाली इंजेक्शन प्राथमिकताओं के आइकन को भी शीर्ष-स्तरीय आइकन के रूप में माना जाता है। प्रदान किए गए आइकन समान मान से और उसी आकार में इनसेट होते हैं जैसा कि अन्य सभी शीर्ष-स्तरीय आइकन (ऊपर देखें) के लिए निर्दिष्ट है। हालाँकि, इस क्रम में निम्नलिखित विशेषताओं को देखकर पृष्ठभूमि का निर्धारण किया जाता है:
- इंजेक्शन लगाने वाले एप्लिकेशन से
com.android.settings.bg.argb
मेटा डेटा। -
com.android.settings.bg.hint
इंजेक्शन लगाने वाले एप्लिकेशन से मेटा डेटा। -
top_level_injected_default_background
res/values/colors.xml
colors.xml में निर्दिष्ट है।
इंजेक्शन लगाने वाले एप्लिकेशन डेटा को अनदेखा करने और हमेशा डिफ़ॉल्ट पृष्ठभूमि का उपयोग करने के लिए, config_top_level_injection_background_always_use_default
को true
पर सेट करें।