Android ऐप्लिकेशन सभी तरह के डिवाइसों पर काम करते हैं: फ़ोन, टैबलेट, फ़ोल्ड किए जा सकने वाले डिवाइस, Chromebook, कार, टीवी, और यहां तक कि XR डिवाइसों पर भी. अलग-अलग डिवाइसों पर काम करने के लिए, आपके ऐप्लिकेशन में सभी डिवाइस फ़ॉर्म फ़ैक्टर और डिसप्ले साइज़ के साथ काम करने की सुविधा होनी चाहिए.
Android 16 (एपीआई लेवल 36) की मदद से, ऐप्लिकेशन को अलग-अलग डिवाइसों के नाप या आकार और स्क्रीन साइज़ के हिसाब से अडजस्ट किया जा सकता है. इसके लिए, स्क्रीन ओरिएंटेशन, आसपेक्ट रेशियो, और साइज़ बदलने से जुड़ी ऐप्लिकेशन की पाबंदियों को बदला जाता है. बदलाव, उन डिवाइसों पर लागू होते हैं जिनकी सबसे छोटी चौड़ाई 600 डीपीआई से ज़्यादा हो. इससे ये बातें तय होती हैं:
- टैबलेट
- बड़ी स्क्रीन वाले फ़ोल्ड किए जा सकने वाले डिवाइसों के अंदरूनी डिसप्ले
- डेस्कटॉप विंडोविंग (सभी फ़ॉर्म फ़ैक्टर पर)
एपीआई लेवल 36 को टारगेट करने वाले ऐप्लिकेशन के साइज़ में बदलाव किया जा सकता है. साथ ही, अगर डिसप्ले की सबसे छोटी चौड़ाई 600dp से ज़्यादा है, तो ये ऐप्लिकेशन मल्टी-विंडो मोड (resizeableActivity="true"
के बराबर) में काम कर सकते हैं.

Android 16, ऐप्लिकेशन के अडैप्टिव डिज़ाइन का एक ऐसा मॉडल लागू करता है जो डिवाइस के ओरिएंटेशन, आसपेक्ट रेशियो, और डिसप्ले साइज़ के लिए उपयोगकर्ता की प्राथमिकताओं को ध्यान में रखकर, उपयोगकर्ता अनुभव को ऑप्टिमाइज़ करता है.
बदलाव
बड़ी स्क्रीन पर Android 16 (एपीआई लेवल 36) को टारगेट करने वाले ऐप्लिकेशन के लिए, मेनिफ़ेस्ट के इन एट्रिब्यूट और एपीआई को अनदेखा किया जाता है:
एट्रिब्यूट या एपीआई | अनदेखी की गई वैल्यू |
---|---|
screenOrientation |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
resizeableActivity |
सभी |
minAspectRatio |
सभी |
maxAspectRatio |
सभी |
setRequestedOrientation() getRequestedOrientation() |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
अपवाद
Android 16 में किए गए बदलावों के अपवादों में ये शामिल हैं:
ऐसे डिसप्ले जिनका डाइमेंशन sw600dp से छोटा हो (ज़्यादातर फ़ोन, फ़्लिप करने वाले फ़ोन, और बड़ी स्क्रीन वाले फ़ोल्ड किए जा सकने वाले डिवाइसों की आउटर स्क्रीन)
android:appCategory
फ़्लैग के हिसाब से गेमAndroid ऐप्लिकेशन बंडल और 'Play ऐप्लिकेशन साइनिंग' का इस्तेमाल करके अपना गेम पब्लिश करें. इससे, Google Play को फ़्लैग मैनेज करने और ऐप्लिकेशन बंडल के फ़ायदे अपने-आप देने की अनुमति मिलती है. ऐप्लिकेशन मेनिफ़ेस्ट की खास जानकारी भी देखें.
आसपेक्ट रेशियो की सेटिंग में जाकर, उपयोगकर्ता ऐप्लिकेशन के डिफ़ॉल्ट तरीके के लिए ऑप्ट इन करता है
ऑप्ट आउट करें
एपीआई लेवल 36 के व्यवहार से ऑप्ट आउट करने के लिए, PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY
मेनिफ़ेस्ट प्रॉपर्टी का एलान करें.
किसी खास गतिविधि के लिए ऑप्ट आउट करने के लिए, <activity>
एलिमेंट में प्रॉपर्टी सेट करें:
<activity ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</activity>
अपने पूरे ऐप्लिकेशन के लिए ऑप्ट आउट करने के लिए, <application>
एलिमेंट में प्रॉपर्टी सेट करें:
<application ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</application>
परीक्षण
यह जांचने के लिए कि आपके ऐप्लिकेशन पर Android 16 में किए गए बदलावों का असर पड़ा है या नहीं, Android Studio में Pixel Tablet और Pixel Fold सीरीज़ के एमुलेटर का इस्तेमाल करें. साथ ही, अपने ऐप्लिकेशन के मॉड्यूल build.gradle
फ़ाइल में targetSdkPreview = "Baklava"
सेट करें.
इसके अलावा, जांच के लिए इस्तेमाल किए जाने वाले डिवाइसों पर ऐप्लिकेशन के साथ काम करने की सुविधा देने वाले फ़्रेमवर्क का इस्तेमाल करें. इसके लिए, UNIVERSAL_RESIZABLE_BY_DEFAULT फ़्लैग को चालू करें. ज़्यादा जानकारी के लिए, ऐप्लिकेशन के साथ काम करने की सुविधा देने वाले फ़्रेमवर्क के टूल देखें.
Espresso टेस्टिंग फ़्रेमवर्क और Jetpack Compose टेस्टिंग एपीआई की मदद से, टेस्टिंग को ऑटोमेट किया जा सकता है.
सामान्य समस्याएं
डिवाइस के ओरिएंटेशन, आसपेक्ट रेशियो या ऐप्लिकेशन के साइज़ को बदलने पर पाबंदी लगाने वाले ऐप्लिकेशन, Android 16 पर डिसप्ले से जुड़ी समस्याएं दिखा सकते हैं. जैसे, लेआउट ओवरलैप होना.
फ़ोन, फ़ोल्ड किए जा सकने वाले डिवाइसों, टैबलेट, Chromebook, कार डिसप्ले या XR पर बेहतर उपयोगकर्ता अनुभव देने के लिए, अपने ऐप्लिकेशन को रिस्पॉन्सिव और अडैप्टिव बनाएं:
यूज़र इंटरफ़ेस (यूआई) के कॉम्पोनेंट को स्ट्रेच करने से बचें: फ़ोन की स्टैंडर्ड और पोर्ट्रेट स्क्रीन के लिए डिज़ाइन किए गए लेआउट, शायद अन्य आसपेक्ट रेशियो के साथ काम न करें. उदाहरण के लिए, डिसप्ले की पूरी चौड़ाई को भरने वाले यूज़र इंटरफ़ेस (यूआई) एलिमेंट, लैंडस्केप ओरिएंटेशन में स्ट्रेच किए गए दिखेंगे. कॉम्पोनेंट की चौड़ाई तय करें, ताकि स्क्रीन के साइज़ के हिसाब से उनका साइज़ बदलने से बचा जा सके.
लेआउट को स्क्रोल करने की सुविधा चालू करें: अगर लेआउट स्क्रोल नहीं होते हैं, तो हो सकता है कि उपयोगकर्ता, स्क्रीन से बाहर मौजूद बटन या यूज़र इंटरफ़ेस (यूआई) के अन्य एलिमेंट को ऐक्सेस न कर पाएं. ऐप्लिकेशन लेआउट को स्क्रोल करने की सुविधा चालू करें, ताकि यह पक्का किया जा सके कि डिसप्ले की ऊंचाई के बावजूद, सभी कॉन्टेंट ऐक्सेस किया जा सकता है.
पक्का करें कि कैमरा पोर्ट्रेट और लैंडस्केप मोड में काम करता हो: कैमरे के व्यूफ़ाइंडर में दिखने वाली झलक, कैमरे के सेंसर के हिसाब से एक खास आसपेक्ट रेशियो और ओरिएंटेशन में दिखती है. ऐसे में, अगर डिसप्ले पर आसपेक्ट रेशियो और ओरिएंटेशन सही नहीं है, तो झलक स्ट्रेच या फ़्लिप हो सकती है. पक्का करें कि ओरिएंटेशन में बदलाव होने पर, व्यूफ़ाइंडर सही तरीके से घूमें. व्यूफ़ाइंडर को सेंसर के आसपेक्ट रेशियो से अलग, यूज़र इंटरफ़ेस (यूआई) के आसपेक्ट रेशियो के हिसाब से अडजस्ट करने की सुविधा चालू करना.
विंडो के साइज़ में बदलाव होने के दौरान स्टेटस बनाए रखना: ओरिएंटेशन और आसपेक्ट रेशियो की पाबंदियों को हटाने पर, ऐप्लिकेशन की विंडो का साइज़ बार-बार बदल सकता है. ऐसा, उपयोगकर्ताओं के ऐप्लिकेशन इस्तेमाल करने के तरीके के हिसाब से होता है. उदाहरण के लिए, डिवाइस को घुमाकर, फोल्ड करके या अनफ़ोल्ड करके या मल्टी-विंडो या डेस्कटॉप विंडो मोड में ऐप्लिकेशन का साइज़ बदलकर. कॉन्फ़िगरेशन में होने वाले बदलावों की वजह से, गतिविधि फिर से बन जाती है. जैसे, स्क्रीन की दिशा में बदलाव करना और विंडो का साइज़ बदलना. उपयोगकर्ताओं को बेहतर अनुभव देने के लिए, कॉन्फ़िगरेशन में बदलाव होने के दौरान ऐप्लिकेशन की स्थिति को बनाए रखें. इससे, आपका ऐप्लिकेशन डेटा (जैसे, फ़ॉर्म इनपुट) को सेव रखता है और उपयोगकर्ता कॉन्टेक्स्ट बनाए रख सकते हैं.
विंडो साइज़ क्लास का इस्तेमाल करना: इससे, डिवाइस के हिसाब से कस्टमाइज़ किए बिना, अलग-अलग विंडो साइज़ और आसपेक्ट रेशियो का इस्तेमाल किया जा सकता है. मान लें कि विंडो के साइज़ अक्सर बदलते रहेंगे. विंडो डाइमेंशन की जानकारी देने के लिए, विंडो साइज़ क्लास का इस्तेमाल करें. इसके बाद, सही अडैप्टिव लेआउट लागू करें.
रिस्पॉन्सिव लेआउट बनाना: विंडो साइज़ क्लास में, रिस्पॉन्सिव लेआउट, डिसप्ले डाइमेंशन में होने वाले बदलावों के हिसाब से अडजस्ट होते हैं, ताकि ऐप्लिकेशन को हमेशा बेहतर तरीके से दिखाया जा सके.
टाइमलाइन
Android 16 (2025): सभी ओरिएंटेशन और आसपेक्ट रेशियो के साथ काम करने की सुविधा. साथ ही, एपीआई लेवल 36 को टारगेट करने वाले ऐप्लिकेशन के लिए, बड़ी स्क्रीन वाले डिवाइसों (स्क्रीन की सबसे छोटी चौड़ाई 600dp से ज़्यादा) पर ऐप्लिकेशन का साइज़ बदलने की सुविधा, बुनियादी अनुभव है. हालांकि, डेवलपर के पास ऑप्ट आउट करने का विकल्प होता है.
Android का साल 2026 में रिलीज़ होने वाला वर्शन: एपीआई लेवल 37 को टारगेट करने वाले ऐप्लिकेशन के लिए, बड़ी स्क्रीन वाले डिवाइसों (स्क्रीन की सबसे छोटी चौड़ाई 600dp से ज़्यादा) पर, सभी ओरिएंटेशन और आसपेक्ट रेशियो के साथ-साथ ऐप्लिकेशन के साइज़ में बदलाव करने की सुविधा, बुनियादी सुविधा के तौर पर उपलब्ध होगी. डेवलपर के पास ऑप्ट आउट करने का विकल्प नहीं होगा.
टारगेट एपीआई लेवल | यह सुविधा किन डिवाइसों पर उपलब्ध है | डेवलपर के लिए ऑप्ट आउट करने की अनुमति है |
---|---|---|
36 (Android 16) | बड़ी स्क्रीन वाले डिवाइस (स्क्रीन की सबसे छोटी चौड़ाई >= 600dp) | हां |
37 (अनुमानित) | बड़ी स्क्रीन वाले डिवाइस (स्क्रीन की सबसे छोटी चौड़ाई >= 600dp) | नहीं |
किसी खास एपीआई लेवल को टारगेट करने की समयसीमा, ऐप्लिकेशन स्टोर के हिसाब से तय होती है. Google Play पर मौजूद ऐप्लिकेशन को अगस्त 2026 से एपीआई लेवल 36 और अगस्त 2027 से एपीआई लेवल 37 को टारगेट करना होगा.
अन्य संसाधन
- Android 16 या इसके बाद के वर्शन वाले ऐप्लिकेशन: काम करने के तरीके में बदलाव
- अडैप्टिव ऐप्लिकेशन बनाना
- अडैप्टिव साउंड के इस्तेमाल से जुड़ी सलाह