व्यू और Compose में इनसेट का इस्तेमाल करना

अगर आपके ऐप्लिकेशन में Compose और View, दोनों के कोड शामिल हैं, तो आपको यह साफ़ तौर पर बताना होगा कि इनमें से हर कोड को, सिस्टम के किन इनसेट का इस्तेमाल करना चाहिए. साथ ही, यह पक्का करना होगा कि इनसेट, एक ही लेवल के व्यू में भेजे जाएं.

डिफ़ॉल्ट इनसेट को बदलना

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

उदाहरण के लिए, अगर आपका सबसे बाहरी लेआउट, Android View लेआउट है, तो आपको View सिस्टम में इनसेट का इस्तेमाल करना चाहिए और Compose के लिए इन्हें अनदेखा करना चाहिए. इसके अलावा, अगर आपका सबसे बाहरी लेआउट, कंपोज़ेबल है, तो आपको Compose में इनसेट का इस्तेमाल करना चाहिए. साथ ही, AndroidView कंपोज़ेबल में ज़रूरत के हिसाब से पैडिंग जोड़नी चाहिए.

डिफ़ॉल्ट रूप से, हर ComposeView, WindowInsetsCompat लेवल पर सभी इनसेट का इस्तेमाल करता है. इस डिफ़ॉल्ट ऐक्शन और सेटिंग को बदलने के लिए, AbstractComposeView.consumeWindowInsets को false पर सेट करें.

व्यू के लिए, पुराने सिस्टम के साथ काम करने वाले इनसेट भेजने की सुविधा

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

सिस्टम बार के आइकॉन

enableEdgeToEdge को कॉल करने पर, डिवाइस की थीम बदलने पर सिस्टम बार के आइकॉन के रंग अपडेट होते हैं.

किनारे से किनारे तक की सुविधा का इस्तेमाल करते समय, आपको सिस्टम बार के आइकॉन के रंगों को मैन्युअल तरीके से अपडेट करना पड़ सकता है, ताकि वे आपके ऐप्लिकेशन के बैकग्राउंड से अलग दिखें. उदाहरण के लिए, स्टेटस बार के हल्के आइकॉन बनाने के लिए:

Kotlin

WindowCompat.getInsetsController(window, window.decorView)
    .isAppearanceLightStatusBars = false

Java

WindowCompat.getInsetsController(window, window.getDecorView())
    .setAppearanceLightStatusBars(false);