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

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

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

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

उदाहरण के लिए, अगर आपका सबसे बाहरी लेआउट 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);