पैटर्न और कॉम्पोनेंट

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

यहां सुधारों का सारांश दिया गया है:

  • सहायता लाइब्रेरी के प्राथमिकताएं फ़्रेमवर्क में डिवाइडर व्यवहार में बदलाव. विभाजक है जिसे अब वर्गों के बीच बनाया गया है.
  • ActionBar की थीम बदलने पर. ActionBar अब हल्के रंग वाली थीम का इस्तेमाल करता है, जिसमें ऐक्सेंट का रंग वाला टेक्स्ट.
  • आपकी पसंद का नया लेआउट. यह विकल्प चुनने पर भी आइकॉन के लिए एक जैसी जगह बची रहती है. आइकॉन नहीं है.

नए विजेट:

  • ऐप्लिकेशन की जानकारी के लिए हेडर विजेट. ऐप्लिकेशन आइकॉन, ऐप्लिकेशन लेबल, और अन्य जानकारी.
  • कुछ पेजों पर 'बड़ा करें' बटन. पेज को 'छोटा किया गया' के तौर पर शुरू किया जा सकता है. साथ ही, इसे कम छिपाया जा सकता है अहम आइटम तब तक दिखते हैं, जब तक 'बड़ा करें' बटन पर उपयोगकर्ता क्लिक नहीं करता.
  • डिफ़ॉल्ट ऐप्लिकेशन पिकर यूज़र इंटरफ़ेस (यूआई):
    • डिफ़ॉल्ट ब्राउज़र, डिफ़ॉल्ट फ़ोन ऐप्लिकेशन वगैरह चुनने के लिए यूज़र इंटरफ़ेस (यूआई).
    • पहले यह डायलॉग बॉक्स था. अब यह फ़ुल स्क्रीन मोड में, रेडियो बटन पर आधारित यूज़र इंटरफ़ेस (यूआई) है.
  • "MasterSwitch" शैली प्राथमिकता. यह दो क्लिक वाली प्राथमिकता है टारगेट के लिए. बायां टारगेट, सबसेटिंग फ़्रैगमेंट या इंटेंट पर ले जाता है. दायां टारगेट स्विच टॉगल करके, पूरे पेज के लिए चालू/बंद को कंट्रोल किया जा सकता है.

उदाहरण और सोर्स

  • डिवाइडर बिहेवियर
    • 'सेटिंग' के सभी पेजों में बदलाव किया गया है, ताकि वे नए डिवाइडर बिहेवियर का इस्तेमाल कर सकें.
    • डिवाइडर बिहेवियर को इसमें थीम ओवरले के तौर पर दिखाया जाता है:
      packages/apps/Settings/res/values/styles_preference.xml
  • ActionBar की थीम में बदलाव
    • नई ActionBar थीम का इस्तेमाल करने के लिए, सेटिंग के सभी पेजों में बदलाव किया गया.
    • थीम की जानकारी थीम.DeviceDefault.Settings में दी गई है
  • नई प्राथमिकता वाला लेआउट
    • सेटिंग के कई पेज अब नए प्राथमिकता लेआउट का इस्तेमाल कर रहे हैं.
    • कोड को यहां देखा जा सकता है:
      packages/apps/Settings/res/values/styles_preference.xml
  • ऐप्लिकेशन का हेडर विजेट
    • सेटिंग में मौजूद ऐप्लिकेशन की जानकारी वाले ज़्यादातर पेज, पहले से ही नया ऐप्लिकेशन हेडर.
    • उदाहरण और कोड यहां मिल सकते हैं:
      packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
  • 'बड़ा करें' बटन
    • उदाहरण और कोड यहां मिल सकते हैं:
      packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java

      ध्यान दें: इस कॉम्पोनेंट का इस्तेमाल, Dashboardफ़्रैगमेंट. (अपडेट की गई इन्फ़ॉर्मेशन आर्किटेक्चर में Dashboardफ़्रैगमेंट के बारे में ज़्यादा जानकारी देखें.)

  • डिफ़ॉल्ट ऐप्लिकेशन पिकर
    • बेस क्लास का कोड यहां देखा जा सकता है:
      packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
    • defaultAppपिकरफ़्रैगमेंट के कई सब-क्लास हैं. इनमें से हर सब-क्लास लागू की जा रही है पिकर का इस्तेमाल कर सकते हैं.
  • MasterSwitch की स्टाइल प्राथमिकता
    • कोड यहां है: https://cs.android.com/android/platform/superproject/main/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
    • इस्तेमाल का एक उदाहरण, वाई-फ़ाई का प्राइमरी स्विच है. आप यहां एक उदाहरण देख सकते है: packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java

लागू करना

डिवाइस बनाने वाली कंपनियां, सभी नए कॉम्पोनेंट का इस्तेमाल करना शुरू कर सकती हैं. अगर OEM नया "MasterSwitch" इस्तेमाल करने का फ़ैसला लेता है स्टाइल से जुड़ी प्राथमिकता या डिफ़ॉल्ट ऐप्लिकेशन चुनने के लिए, उन्हें इस दस्तावेज़ और पहचान फ़ाइलों के उदाहरणों का पालन करना चाहिए ज़्यादा जानकारी के लिए, हर कॉम्पोनेंट के साथ लिखे गए (Javadoc) फ़ॉर्मैट को भी शामिल किया गया है.

सेटिंग मेन्यू को पसंद के मुताबिक बनाएं

  • डिवाइडर बिहेवियर. डिवाइडर ड्रॉ करने का तरीका बदलने के लिए, सेटिंग डिवाइडर की स्टाइल अपडेट करें और इनके लिए वैल्यू बदलें:
    • allowDividerAbove
    • allowDividerBelow
    • allowDividerAfterLastItem
  • ActionBar थीम का रंग. गतिविधियों को अपनी थीम के तौर पर Theme.DeviceDefault.Settings का इस्तेमाल करना चाहिए या पैरंट के तौर पर Theme.DeviceDefault.Settings का इस्तेमाल करके, पसंद के मुताबिक थीम बनाएं.
  • ऐप्लिकेशन का हेडर विजेट. हर फ़ील्ड और कॉल को पसंद के मुताबिक बनाने के लिए, AppHeaderController में सेटर का इस्तेमाल करें सभी फ़ील्ड को सेट करने के बाद build().
  • 'बड़ा करें' बटन:
    • इस सुविधा को पूरी तरह से बंद करने के लिए, कंस्ट्रक्टर को बदलें प्रोग्रेसिवडिसक्लोज़रMixin और Keepexpanded को 'सही' के तौर पर सेट करें.
    • यह कस्टमाइज़ करने के लिए कि शुरुआत में कितने आइटम दिखाए जाएं, फ़्रैगमेंट के दौरान ProgressiveDisclosureMixin.setTileLimit() तरीका onAttach(Context) तरीका.