एज-टू-एज डिसप्ले को मैन्युअल तरीके से सेट अप करें

enableEdgeToEdge को कॉल करने से, पुराने सिस्टम के साथ काम करने की सुविधा को सही तरीके से लागू करने के लिए ज़रूरी लॉजिक मिल जाता है. इसलिए, एज-टू-एज डिसप्ले सेट अप करने का यह सबसे सही तरीका है. enableEdgeToEdge का इस्तेमाल करके, किनारे से किनारे तक कॉन्टेंट दिखाने के नए तरीके के लिए, इस गाइड के बजाय Compose और Views के दस्तावेज़ देखें.

हालांकि, ऐसा करने का सुझाव नहीं दिया जाता. अगर आपके ऐप्लिकेशन को एज-टू-एज डिसप्ले को मैन्युअल तरीके से सेट अप करना है, तो यह तरीका अपनाएं:

  1. WindowCompat.setDecorFitsSystemWindows(window, false) पर कॉल करें.
  2. सिस्टम बार को पारदर्शी पर सेट करें.
  3. इनसेट मैनेज करता है.

अपने ऐप्लिकेशन को फ़ुल स्क्रीन में लेआउट करना

सिस्टम बार के पीछे अपने ऐप्लिकेशन को लेआउट करने के लिए, 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);
}

सिस्टम बार का रंग बदलना

Android 14 और इससे पहले के वर्शन के लिए, एज-टू-एज लेआउट को मैन्युअल तरीके से बनाते समय, आपके ऐप्लिकेशन को सिस्टम बार को भी पारदर्शी बनाना होगा.

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>

स्टेटस बार के कॉन्टेंट के रंग को कंट्रोल करने के लिए, 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);

इनसेट मैनेज करना

आखिर में, आपके ऐप्लिकेशन को इनसेट को मैनेज करना होगा, ताकि अहम यूज़र इंटरफ़ेस (यूआई) सिस्टम बार और डिसप्ले कटआउट से बच सके. इनसेट को मैनेज करने का तरीका जानने के लिए, Compose और Views के दस्तावेज़ देखें.