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

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>

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

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

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