enableEdgeToEdge
को कॉल करके, अपने ऐप्लिकेशन में एज-टू-एज डिसप्ले की सुविधा चालू की जा सकती है.
यह ज़्यादातर ऐप्लिकेशन के लिए काफ़ी होना चाहिए. इस गाइड में बताया गया है कि अगर आपके ऐप्लिकेशन को enableEdgeToEdge
का इस्तेमाल किए बिना, एज-टू-एज सुविधा चालू करनी है, तो ऐसा कैसे करें.
अपने ऐप्लिकेशन को फ़ुल स्क्रीन में लेआउट करना
सिस्टम बार के पीछे अपने ऐप्लिकेशन को लेआउट करने के लिए, WindowCompat.setDecorFitsSystemWindows(window,
false)
का इस्तेमाल करें. जैसा कि यहां दिए गए कोड के उदाहरण में दिखाया गया है:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) }
Java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WindowCompat.setDecorFitsSystemWindows(getWindow(), false); }
सिस्टम बार का रंग बदलना
एज-टू-एज लेआउट में काम करते समय, आपके ऐप्लिकेशन को सिस्टम बार के रंग बदलने होंगे, ताकि उसके नीचे मौजूद कॉन्टेंट दिख सके. आपका ऐप्लिकेशन यह चरण पूरा करने के बाद, सिस्टम, जेस्चर नेविगेशन मोड और बटन मोड में उपयोगकर्ता इंटरफ़ेस की सभी विज़ुअल सुरक्षा को मैनेज करता है.
- हावभाव से नेविगेट करने का मोड: इस मोड में सिस्टम, डाइनैमिक कलर अडैप्टेशन की सुविधा लागू करता है. इसमें सिस्टम बार का रंग, उनके पीछे मौजूद कॉन्टेंट के हिसाब से बदलता है. यहां दिए गए उदाहरण में, नेविगेशन बार में मौजूद हैंडल का रंग बदलता है. जब हैंडल हल्के रंग के कॉन्टेंट के ऊपर होता है, तो उसका रंग गहरा हो जाता है. वहीं, जब हैंडल गहरे रंग के कॉन्टेंट के ऊपर होता है, तो उसका रंग हल्का हो जाता है.
- बटन मोड: सिस्टम बार के पीछे, सिस्टम एक पारभासी स्क्रिम लागू करता है. यह एपीआई लेवल 29 या इसके बाद के वर्शन के लिए होता है. इसके अलावा, एपीआई लेवल 28 या इससे पहले के वर्शन के लिए, सिस्टम एक पारदर्शी सिस्टम बार लागू करता है.

- स्टेटस बार के कॉन्टेंट का रंग: इससे स्टेटस बार के कॉन्टेंट का रंग कंट्रोल किया जाता है. जैसे, समय और आइकॉन.

नेविगेशन बार का रंग सेट करने के लिए, themes.xml
फ़ाइल में बदलाव किया जा सकता है. इसके अलावा, स्टेटस बार को पारदर्शी और स्टेटस बार के कॉन्टेंट के रंग को गहरा सेट किया जा सकता है.
<!-- values-v29/themes.xml -->
<style name="Theme.MyApp">
<item name="android:navigationBarColor">
@android:color/transparent
</item>
<!-- Optional: set to transparent if your app is drawing behind the status bar. -->
<item name="android:statusBarColor">
@android:color/transparent
</item>
<!-- Optional: set for a light status bar with dark content. -->
<item name="android:windowLightStatusBar">
true
</item>
</style>
WindowInsetsController
API का इस्तेमाल सीधे तौर पर किया जा सकता है. हालांकि, हमारा सुझाव है कि जहां भी हो सके वहां Support Library WindowInsetsControllerCompat
का इस्तेमाल करें. स्टेटस बार के कॉन्टेंट के रंग को कंट्रोल करने के लिए, WindowInsetsControllerCompat
के बजाय WindowInsetsControllerCompat
API का इस्तेमाल किया जा सकता है.theme.xml
इसके लिए, setAppearanceLightNavigationBars()
फ़ंक्शन का इस्तेमाल करें. नेविगेशन के फ़ोरग्राउंड का रंग बदलकर हल्का रंग करने के लिए true
पास करें या डिफ़ॉल्ट रंग पर वापस जाने के लिए false
पास करें.
Kotlin
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) windowInsetsController?.isAppearanceLightNavigationBars = true
Java
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView()); if (windowInsetsController == null) { return; } windowInsetsController.setAppearanceLightNavigationBars(true);