एज-टू-एज डिसप्ले की सुविधा की मदद से, आपका ऐप्लिकेशन अपने यूज़र इंटरफ़ेस (यूआई) को सिस्टम बार के पीछे ड्रॉ कर सकता है. सिस्टम बार में स्टेटस बार, कैप्शन बार, और नेविगेशन बार शामिल हैं. इससे उपयोगकर्ताओं को ज़्यादा बेहतर अनुभव मिलता है. अगर आपका ऐप्लिकेशन Android 15 (एपीआई लेवल 35) या इसके बाद के वर्शन वाले डिवाइसों को टारगेट करता है, तो डिफ़ॉल्ट रूप से एज-टू-एज डिसप्ले मोड लागू हो जाता है.
Android के सभी वर्शन पर कॉन्टेंट को एज-टू-एज सही तरीके से दिखाने के लिए, सेटअप करने का यह तरीका अपनाएं. इन चरणों को पूरा न करने पर, हो सकता है कि आपका ऐप्लिकेशन सिस्टम बार के पीछे सॉलिड कलर दिखाए या ऑन-स्क्रीन कीबोर्ड (आईएमई) ट्रांज़िशन के साथ अपने कॉन्टेंट को सिंक करके ऐनिमेट न करे.
Android स्किल
GitHub पर देखेंएज-टू-एज डिसप्ले की सुविधा जोड़ना
android skills add edge-to-edge1. एज-टू-एज डिसप्ले की सेटिंग चालू करें
Android के पुराने वर्शन पर एज-टू-एज मोड चालू करने के लिए, अपने Activity.onCreate() तरीके में enableEdgeToEdge() को कॉल करें:
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() // ... }
डिफ़ॉल्ट रूप से, enableEdgeToEdge() सिस्टम बार को पारदर्शी बनाता है. हालांकि, तीन बटन वाले नेविगेशन मोड में, यह नेविगेशन बार पर पारभासी स्क्रिम लागू करता है, ताकि बेहतर कंट्रास्ट मिल सके. सिस्टम आइकॉन और स्क्रिम का रंग, सिस्टम की हल्की या गहरे रंग वाली थीम के हिसाब से बदलता है.
2. windowSoftInputMode को कॉन्फ़िगर करना
अपनी गतिविधि की AndroidManifest.xml एंट्री में android:windowSoftInputMode="adjustResize" सेट करें. इस सेटिंग की मदद से, आपके ऐप्लिकेशन को आईएमई इनसेट मिल सकते हैं. इससे, ऑन-स्क्रीन कीबोर्ड दिखने या गायब होने पर, पैडिंग के साथ लेआउट में बदलाव किया जा सकता है.
<!-- In your AndroidManifest.xml file: -->
<activity
android:name=".ui.MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize"
android:theme="@style/Theme.MyApplication"
android:exported="true">
...
</activity>
3. इनसेट का इस्तेमाल करके, ओवरलैप होने की समस्या को मैनेज करना
एज-टू-एज मोड चालू होने पर, आपके ऐप्लिकेशन का कुछ कॉन्टेंट और यूज़र इंटरफ़ेस (यूआई) एलिमेंट, सिस्टम बार के पीछे दिख सकते हैं. सिस्टम बार की वजह से ज़रूरी या इंटरैक्टिव एलिमेंट को छिपने से रोकने के लिए या सिस्टम जेस्चर के साथ ओवरलैप होने से रोकने के लिए, आपको इनसेट को मैनेज करना होगा.
इनसेट, स्क्रीन के उन हिस्सों के बारे में बताते हैं जो सिस्टम यूज़र इंटरफ़ेस (यूआई) या सिस्टम जेस्चर को इंटरसेक्ट करते हैं. एज-टू-एज डिसप्ले के लिए, इनसेट के मुख्य टाइप ये हैं:
- सिस्टम बार इनसेट: ये उन हिस्सों को दिखाते हैं जहां सिस्टम बार दिखते हैं. इनका इस्तेमाल करके, यूज़र इंटरफ़ेस (यूआई) को सिस्टम बार से छिपने से रोका जा सकता है.
- डिसप्ले कटआउट इनसेट: ये उन जगहों को दिखाते हैं जहां डिवाइस की स्क्रीन पर फ़िज़िकल कटआउट (जैसे, कैमरा नॉच) मौजूद होता है.
Compose में, इनसेट को मैनेज करने के लिए, रूलर, पैडिंग मॉडिफ़ायर या इनसेट साइज़ मॉडिफ़ायर का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, विंडो इनसेट के बारे में जानकारी देखें.
ऐडवांस विषय
एज-टू-एज मोड के बेहतर इस्तेमाल के लिए, यहां दी गई बातों का ध्यान रखें.
इमर्सिव मोड
वीडियो या मैप जैसे कुछ कॉन्टेंट को फ़ुल स्क्रीन मोड में देखने पर बेहतर अनुभव मिलता है. इस मोड में सिस्टम बार छिपे होते हैं. WindowInsetsControllerCompat का इस्तेमाल करके, सिस्टम बार छिपाए जा सकते हैं:
val windowInsetsController = WindowCompat.getInsetsController(window, window.decorView) // Hide the system bars. windowInsetsController.hide(WindowInsetsCompat.Type.systemBars()) // Show the system bars. windowInsetsController.show(WindowInsetsCompat.Type.systemBars())
सिस्टम बार के रंग और आइकॉन
एज-टू-एज मोड में जाने पर, आपके ऐप्लिकेशन का बैकग्राउंड, सिस्टम बार के पीछे दिख सकता है. इसलिए, बेहतर कंट्रास्ट के लिए आपको सिस्टम बार के आइकॉन के रंग अडजस्ट करने पड़ सकते हैं.
स्टेटस बार के आइकॉन को हल्के या गहरे रंग में बदलने के लिए, WindowInsetsControllerCompat का इस्तेमाल करें:
// Set status bar icons to dark. WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = true // Set status bar icons to light. WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
सिस्टम बार की सुरक्षा
enableEdgeToEdge() में डिफ़ॉल्ट रूप से, पारदर्शी या कुछ हद तक पारदर्शी सिस्टम बार की सुविधा मिलती है. हालांकि, आपको इसे अपनी पसंद के मुताबिक बनाने की ज़रूरत पड़ सकती है. पारदर्शी और ट्रांसलूसेंट बार का इस्तेमाल कब करना है, यह तय करने के लिए Android सिस्टम बार के डिज़ाइन से जुड़े दिशा-निर्देश और एज-टू-एज डिज़ाइन से जुड़े दिशा-निर्देश देखें.
तीन बटन वाले नेविगेशन बार को पूरी तरह से पारदर्शी बनाने के लिए, कंट्रास्ट को लागू करने की सुविधा बंद की जा सकती है:
window.isNavigationBarContrastEnforced = false
ज़्यादा जानकारी के लिए, सिस्टम बार की सुरक्षा के बारे में जानकारी लेख पढ़ें.