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

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

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

  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 एपीआई का इस्तेमाल किया जा सकता है. ऐसा करने के लिए, 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 और व्यू का दस्तावेज़ देखें.