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 का इस्तेमाल सीधे तौर पर किया जा सकता है. हालांकि, हमारा सुझाव है कि जहां भी हो सके वहां सहायता लाइब्रेरी WindowInsetsControllerCompat
का इस्तेमाल करें. स्टेटस बार के कॉन्टेंट के रंग को कंट्रोल करने के लिए, theme.xml
के बजाय WindowInsetsControllerCompat
API का इस्तेमाल किया जा सकता है. ऐसा करने के लिए, 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);