डाइनैमिक कलर

Material You डिज़ाइन को Android 12 के साथ लॉन्च किया गया था. इसके बाद, इसे Android 13 में भी उपलब्ध कराया गया.

इस पेज पर, Material You के लॉजिक से जुड़े अपडेट के बारे में बताया गया है. इससे आपको डाइनैमिक कलर की बेहतर सुविधा को इंटिग्रेट करने में मदद मिलेगी.

डाइनैमिक कलर के टोनल पैलेट

Android 12 और इसके बाद के वर्शन में, डाइनैमिक कलर टोनल पैलेट की ये सुविधाएं काम करती हैं:

इनमें से हर एक में 13 रंगों का सेट होता है. इनमें अलग-अलग ल्यूमिनेंस वैल्यू तय की जाती हैं. इनके बारे में R.color में बताया गया है. हालांकि, इनमें रंग और क्रोमा की वैल्यू तय नहीं की जाती हैं. इन्हें Android सिस्टम, रनटाइम के दौरान डाइनैमिक तरीके से जनरेट कर सकता है.

डाइनैमिक कलर के लिए थीम स्टाइल

Android 13 से, छह अलग-अलग थीम स्टाइल काम करती हैं. इनमें डाइनैमिक कलर एल्गोरिदम के अलग-अलग वर्शन इस्तेमाल किए जाते हैं. इससे डेवलपर की ज़रूरतों और कंट्रास्ट की उम्मीदों को पूरा किया जा सकता है. इनका इस्तेमाल, ऐप्लिकेशन में इस्तेमाल होने वाले 65 डाइनैमिक कलर जनरेट करने के लिए किया जाता है:

  • TONAL_SPOT एक ऐसा पैलेट है जिसमें न तो बहुत हल्के और न ही बहुत गहरे रंग होते हैं. इसमें system_accent3_0 रंग का इस्तेमाल किया जाता है. यह रंग, system_accent1_0 रंग से मिलता-जुलता है. system_accent1_0 रंग को Android 12 की रिलीज़ से लिया गया है और इसमें थोड़ा बदलाव किया गया है.
  • VIBRANT एक वाइब्रेंट पैलेट है, जिसमें रंगों के बीच मामूली बदलाव को एक साथ मिलाया गया है.
  • EXPRESSIVE एक हाई-वाइब्रेंसी पैलेट है. इसमें अलग-अलग और यूनीक ऐक्सेंट कलर को एक साथ इस्तेमाल किया जाता है.
  • SPRITZ एक कम वाइब्रेंसी वाला पैलेट है, जो रंगों के बीच एक हल्का वॉश इफ़ेक्ट बनाता है.
  • RAINBOW में क्रोमैटिक ऐक्सेंट और न्यूट्रल सर्फ़ेस, दोनों का इस्तेमाल किया जाता है. इससे लोगों को रंग का बेहतर अनुभव मिलता है.
    • वॉलपेपर के आधार पर रंग निकालने की सुविधा के साथ इसका इस्तेमाल करने का सुझाव नहीं दिया जाता. इसके बजाय, इसका इस्तेमाल स्टैटिक कलर थीम के साथ किया जाना चाहिए.
  • FRUIT_SALAD में दो टोन वाले रंग उपलब्ध हैं, ताकि उपयोगकर्ता अपनी भावनाओं को बेहतर तरीके से ज़ाहिर कर सकें.
    • वॉलपेपर के आधार पर रंग निकालने की सुविधा के साथ इसका इस्तेमाल करने का सुझाव नहीं दिया जाता. इसके बजाय, इसका इस्तेमाल स्टैटिक कलर थीम के साथ किया जाना चाहिए.

सिस्टम थीम, Android 12 में इस्तेमाल की गई सेटिंग के हिसाब से ही काम करती है. यह सेटिंग Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES है. Android 13 के लिए, इसके JSON में सिर्फ़ एक कुंजी की ज़रूरत होती है. यह कुंजी, 65 कलर पैलेट जनरेट करने के लिए सोर्स कलर भेजती है:

{
    "android.theme.customization.system_palette":"746BC1"
}

थीम की डिफ़ॉल्ट स्टाइल TONAL_SPOT है. हालांकि, आपके पास ऊपर दिए गए JSON के साथ एक और कुंजी का इस्तेमाल करके, थीम की अन्य स्टाइल में से किसी एक को चुनने का विकल्प होता है:

{
    "android.theme.customization.system_palette":"746BC1"
    "android.theme.customization.theme_style":"EXPRESSIVE"
}

डाइनैमिक कलर को इंटिग्रेट करना

डाइनैमिक कलर को इंटिग्रेट करने से जुड़े दिशा-निर्देशों के लिए, Material You डिज़ाइन को इंटिग्रेट करना लेख पढ़ें.

अक्सर पूछे जाने वाले सवाल

डाइनैमिक टोनल पैलेट एपीआई में क्या-क्या शामिल है?

  • पांच टोनल पैलेट होते हैं:

  • हर टोनल पैलेट में 13 रंग होते हैं. इनके इंडेक्स 0, 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, और 1000 पर खत्म होते हैं.

  • इससे बनने वाला एपीआई, टोनल पैलेट के नाम और इंडेक्स का कॉम्बिनेशन होता है. उदाहरण के लिए: R.color#system_accent1_10

डाइनैमिक टोनल पैलेट कैसे जनरेट होता है?

डाइनैमिक टोनल पैलेट, एक ही सोर्स कलर से जनरेट होना चाहिए. यह सोर्स कलर, वॉलपेपर से लिया जाना चाहिए. इसके लिए, com.android.systemui.monet.ColorScheme#getSeedColors का इस्तेमाल करना चाहिए. इससे कई मान्य सोर्स कलर मिलते हैं. अगर दिए गए रंगों में से कोई भी रंग, सोर्स कलर की ज़रूरी शर्तों को पूरा नहीं करता है, तो सोर्स कलर के लिए 0xFF1B6EF3 वैल्यू का इस्तेमाल किया जाना चाहिए.