Android 17 और इसके बाद के वर्शन में, हेड्स-अप नोटिफ़िकेशन (एचयूएन) के लिए स्केलेबल यूज़र इंटरफ़ेस (यूआई) की सुविधा उपलब्ध है. इसकी मदद से, एचयूएन पैनल के विंडो मैनेजमेंट (जगह, बैकग्राउंड स्क्रिम, ऐनिमेशन) को पसंद के मुताबिक बनाया जा सकता है. इसके लिए, रनटाइम रिसोर्स ओवरले (आरआरओ) के साथ स्केलेबल यूज़र इंटरफ़ेस (यूआई) फ़्रेमवर्क का इस्तेमाल किया जाता है. इस सुविधा की मदद से, सूचना के कंटेनर को कंट्रोल किया जा सकता है. इससे कॉन्टेंट रेंडरिंग पर कोई असर नहीं पड़ता.
लागू करना
एचयूएन के लिए स्केलेबल यूज़र इंटरफ़ेस (यूआई) लागू करने में ये शामिल हैं:
- सार्वजनिक और सिस्टम एपीआई: इसमें स्केलेबल यूज़र इंटरफ़ेस (यूआई) पार्सर में
HunWindowक्लास और<HunPanel>एक्सएमएल टैग पार्सिंग लॉजिक शामिल किया गया है. - पार्टनर के लिए लागू करने की प्रोसेस:
- कस्टम RRO ओवरले तय करें.
- एक्सएमएल फ़ाइल (उदाहरण के लिए,
res/xml/hun_panel.xml) बनाने के लिए,<HunPanel>रूट टैग का इस्तेमाल करें. - बाउंड्री, ग्रेविटी (
TOPयाBOTTOM), दिखने की स्थिति, और बैकग्राउंड (स्क्रिम ड्रॉएबल) को कंट्रोल करने के लिए,<Variant>एलिमेंट तय करें. <Transitions>का इस्तेमाल करके, सिस्टम इवेंट (उदाहरण के लिए,_System_Show_Panel) में वैरिएंट मैप करें.
- नए डिवाइसों के मुकाबले अपग्रेड किए गए डिवाइस: यह कॉन्फ़िगरेशन में किया गया बदलाव है. इसे RRO करते हैं. डिवाइसों को नई सिस्टम इमेज पाने के लिए अपग्रेड करने के लिए, सही RRO बनाएं, ताकि HUN के व्यवहार को तय किया जा सके. इससे उपयोगकर्ताओं को डिफ़ॉल्ट सेटिंग से अलग सेटिंग चुनने का विकल्प मिलता है.
- चालू या बंद करना: इस सुविधा को चालू या बंद करने के लिए,
window_statesकॉन्फ़िगरेशन में@xml/hun_panelजोड़ें या हटाएं. - डिफ़ॉल्ट सेटिंग: सिस्टम के डिफ़ॉल्ट कॉन्फ़िगरेशन को ओवरराइड करने वाले अपने RRO को लागू करके, डिफ़ॉल्ट सेटिंग में बदलाव करें.
ज़रूरी शर्तें और पुष्टि
ओवरले चालू और बंद करने की सुविधा को आज़माने के लिए, यह क्रम अपनाएं:
adb shell cmd overlay disable --user current com.example.overlay.scalableUI.hun.bottom
RRO को चालू या बंद करने पर, HUN क्रमशः सबसे नीचे या सबसे ऊपर दिखता है.
मैन्युअल तरीके से पुष्टि करना
- पोजीशनिंग: पुष्टि करें कि एचयूएन, तय की गई ग्रेविटी (
TOPयाBOTTOM) और सीमाओं के हिसाब से दिख रहे हों. - इंटरैक्शन: पुष्टि करें कि सूचना को खारिज करने के लिए स्वाइप करने की सुविधा काम कर रही है. अगर सूचना को खारिज नहीं किया जा सकता, तो पुष्टि करें कि बटन काम कर रहा है.
- ऐनिमेशन: खुले और बंद होने की स्थितियों के बीच ट्रांज़िशन ऐनिमेशन की पुष्टि करें.