Android 12 में विजेट से जुड़े सुधार

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

वैकल्पिक लेख

पक्का करें कि आपका विजेट Android 12 के साथ काम करता हो

Android 12 में विजेट के कोने गोल होते हैं. Android 12 या इसके बाद के वर्शन पर काम करने वाले डिवाइस पर, किसी ऐप्लिकेशन के विजेट का इस्तेमाल करने पर, लॉन्चर अपने-आप विजेट के बैकग्राउंड की पहचान करता है और उसके कोनों को गोल करने के लिए, उसे क्रॉप कर देता है.

इस मामले में, आपका विजेट इन दोनों स्थितियों में ठीक से नहीं दिख सकता:

  • विजेट के कोनों में कॉन्टेंट मौजूद है: इससे कोने वाले हिस्से में मौजूद कुछ कॉन्टेंट क्रॉप हो सकता है.

  • विजेट में ऐसा बैकग्राउंड इस्तेमाल किया गया है जिसे क्रॉप नहीं किया जा सकता. इसमें पारदर्शी बैकग्राउंड, खाली व्यू या लेआउट या किसी अन्य तरह का ऐसा खास बैकग्राउंड शामिल है जिसे क्रॉप नहीं किया जा सकता. सिस्टम, इस्तेमाल किए जाने वाले बैकग्राउंड की सही पहचान नहीं कर पाएगा.

अगर इस बदलाव से आपके विजेट पर असर पड़ेगा, तो हमारा सुझाव है कि उसे गोल कोनों के साथ रीफ़्रेश करें. ऐसा करने का तरीका, अगले सेक्शन में बताया गया है. इससे यह पक्का किया जा सकेगा कि वह ठीक से दिखे.

उदाहरण का इस्तेमाल करना

इन सभी एपीआई को ऐक्शन में देखने के लिए, हमारे सैंपल लिस्ट विजेट को देखें.

गोल कोने लागू करना

Android 12 में, system_app_widget_background_radius और system_app_widget_inner_radius सिस्टम पैरामीटर जोड़े गए हैं. इनकी मदद से, विजेट के गोल कोनों के रेडियस सेट किए जा सकते हैं.

टोक्यो के मौसम का विजेट
पहली इमेज: विजेट और विजेट के अंदर मौजूद व्यू के गोल कोने

1 विजेट का कोना.

2 विजेट के अंदर मौजूद व्यू का कोना.

ज़्यादा जानकारी के लिए, गोल कोने लागू करना लेख देखें.

डिवाइस की थीमिंग जोड़ना

Android 12 से, विजेट में बटन, बैकग्राउंड, और अन्य कॉम्पोनेंट के लिए डिवाइस की थीम के रंगों का इस्तेमाल किया जा सकता है. इसमें लाइट और डार्क थीम भी शामिल हैं. इससे, अलग-अलग विजेट के बीच ट्रांज़िशन बेहतर होते हैं और उनमें एकरूपता बनी रहती है.

ज़्यादा जानकारी के लिए, डिवाइस की थीमिंग जोड़ना लेख देखें.

हल्के रंग वाले मोड की थीम में विजेट
दूसरी इमेज: लाइट थीम में विजेट
गहरे रंग वाले मोड की थीम में विजेट
तीसरी इमेज: डार्क थीम में विजेट

विजेट को अपनी पसंद के मुताबिक बनाना आसान बनाना

अगर configure एट्रिब्यूट के साथ कोई कॉन्फ़िगरेशन गतिविधि तय की जाती है, तो उपयोगकर्ता के होम स्क्रीन पर विजेट जोड़ने के तुरंत बाद, ऐप्लिकेशन विजेट होस्ट उस गतिविधि को लॉन्च करता है.appwidget-provider

Android 12 में नए विकल्प जोड़े गए हैं. इनकी मदद से, उपयोगकर्ताओं को बेहतर कॉन्फ़िगरेशन अनुभव दिया जा सकता है. ज़्यादा जानकारी के लिए, उपयोगकर्ताओं को विजेट कॉन्फ़िगर करने की अनुमति देना लेख देखें.

नए कंपाउंड बटन जोड़ना

Android 12 में, मौजूदा इन कॉम्पोनेंट का इस्तेमाल करके, स्टेटफ़ुल बिहेवियर के लिए नया सपोर्ट जोड़ा गया है:

विजेट अब भी स्टेटलेस है. आपके ऐप्लिकेशन को स्टेट सेव करनी होगी और स्टेट में बदलाव के इवेंट के लिए रजिस्टर करना होगा.

चौथी इमेज: चेकबॉक्स वाला विजेट का उदाहरण

ज़्यादा जानकारी के लिए, स्टेटफ़ुल बिहेवियर के लिए सपोर्ट लेख देखें.

विजेट के साइज़ और लेआउट के लिए, बेहतर एपीआई का इस्तेमाल करना

Android 12 से, साइज़ के बेहतर एट्रिब्यूट और ज़्यादा फ़्लेक्सिबल लेआउट का फ़ायदा लिया जा सकता है. इसके लिए, विजेट के साइज़ की अतिरिक्त पाबंदियां तय करें. साथ ही, रिस्पॉन्सिव लेआउट और सटीक लेआउट उपलब्ध कराएं.

ज़्यादा जानकारी के लिए, विजेट के फ़्लेक्सिबल लेआउट उपलब्ध कराना लेख देखें.

अपने ऐप्लिकेशन के विजेट पिकर के अनुभव को बेहतर बनाना

Android 12 में, विजेट की डाइनैमिक झलक और विजेट के ब्यौरे जोड़कर, अपने ऐप्लिकेशन के विजेट पिकर के अनुभव को बेहतर बनाया जा सकता है. ज़्यादा जानकारी के लिए, विजेट पिकर में स्केल किए जा सकने वाले विजेट की झलक जोड़ना और अपने विजेट के लिए ब्यौरा जोड़ना लेख देखें.

बेहतर ट्रांज़िशन की सुविधा चालू करना

Android 12 से, लॉन्चर में बेहतर ट्रांज़िशन की सुविधा मिलती है. ऐसा तब होता है, जब कोई उपयोगकर्ता किसी विजेट से आपका ऐप्लिकेशन लॉन्च करता है. ज़्यादा जानकारी के लिए, बेहतर ट्रांज़िशन की सुविधा चालू करना लेख देखें.

RemoteViews के आसान कलेक्शन का इस्तेमाल करना

Android 12 में, setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) तरीका जोड़ा गया है. इसकी मदद से, ListView में जानकारी भरते समय, आपका ऐप्लिकेशन सीधे कलेक्शन पास कर सकता है. पहले, जब ListView का इस्तेमाल किया जाता था, तो RemoteViewsService को लागू करना और उसकी जानकारी देना ज़रूरी था, ताकि RemoteViewsFactory वापस मिल सके.

ज़्यादा जानकारी के लिए, RemoteViews कलेक्शन का इस्तेमाल करना लेख देखें.

रनटाइम के दौरान, RemoteViews में बदलाव करना

Android 12 में, RemoteViews के कई तरीके जोड़े गए हैं. इनकी मदद से, रनटाइम के दौरान RemoteViews के एट्रिब्यूट में बदलाव किया जा सकता है. जोड़े गए तरीकों की पूरी सूची देखने के लिए, RemoteViews के एपीआई रेफ़रंस देखें.

ज़्यादा जानकारी के लिए, रनटाइम के दौरान, `RemoteViews` में बदलाव करनाRemoteViews लेख देखें.