इस्तेमाल में आसानी के लिए, Material 3 के कई बिल्ट-इन कंपोज़ेबल (androidx.compose.material3) खुद ही इनसेट को मैनेज करते हैं. ऐसा इस आधार पर किया जाता है कि कंपोज़ेबल को Material स्पेसिफ़िकेशन के मुताबिक, आपके ऐप्लिकेशन में कैसे रखा गया है.
इनसेट हैंडलिंग कंपोज़ेबल
यहां Material Components की सूची दी गई है. ये अपने-आप इनसेट को मैनेज करते हैं.
ऐप्लिकेशन बार
TopAppBar/CenterAlignedTopAppBar/MediumTopAppBar/LargeTopAppBar: यह सिस्टम बार के ऊपरी और हॉरिज़ॉन्टल किनारों पर पैडिंग लागू करता है, क्योंकि इसका इस्तेमाल विंडो के सबसे ऊपर किया जाता है.BottomAppBar: सिस्टम बार के नीचे और हॉरिज़ॉन्टल किनारों को पैडिंग के तौर पर इस्तेमाल करता है.
कॉन्टेंट कंटेनर
ModalDrawerSheet/DismissibleDrawerSheet/PermanentDrawerSheet(मोडल नेविगेशन पैनल में मौजूद कॉन्टेंट): कॉन्टेंट पर वर्टिकल और स्टार्ट इंसर्ट लागू करता है.ModalBottomSheet: इससे नीचे के इनसेट लागू होते हैं.NavigationBar: सबसे नीचे और हॉरिज़ॉन्टल इनसेट लागू करता है.NavigationRail: वर्टिकल और स्टार्ट इंसर्ट लागू करता है.
स्काफ़ोल्ड
डिफ़ॉल्ट रूप से, Scaffold आपको पैरामीटर PaddingValues के तौर पर इंसर्ट देता है, ताकि आप इसका इस्तेमाल कर सकें.
Scaffold कॉन्टेंट में इनसेट लागू नहीं करता है. यह आपकी ज़िम्मेदारी है.
उदाहरण के लिए, Scaffold में मौजूद LazyColumn के साथ इन इनसेट का इस्तेमाल करने के लिए:
Scaffold { innerPadding -> // innerPadding contains inset information for you to use and apply LazyColumn( // consume insets as scaffold doesn't do it by default modifier = Modifier.consumeWindowInsets(innerPadding), contentPadding = innerPadding ) { // .. } }
इस वीडियो में, Scaffold में मौजूद LazyColumn को दिखाया गया है. इसमें एज-टू-एज डिसप्ले की सुविधा को बंद और चालू किया गया है:
आम तौर पर, Scaffold में PaddingValues पैरामीटर का इस्तेमाल करके, अपने यूज़र इंटरफ़ेस (यूआई) को सिस्टम यूज़र इंटरफ़ेस (यूआई) और डिसप्ले कटआउट से दूर रखा जा सकता है. अगर आपको अपने यूज़र इंटरफ़ेस (यूआई) में बहुत ज़्यादा पैडिंग नहीं लगानी है, तो Scaffold का इस्तेमाल करते समय, इंसर्ट को मैनेज करने के अन्य तरीकों का इस्तेमाल न करें. जैसे, रूलर, पैडिंग मॉडिफ़ायर या इंसर्ट साइज़ मॉडिफ़ायर.
डिफ़ॉल्ट इंसर्ट को बदलना
कंपोज़ेबल के व्यवहार को कॉन्फ़िगर करने के लिए, कंपोज़ेबल को पास किए गए windowInsets पैरामीटर को बदला जा सकता है. इस पैरामीटर को, विंडो के अंदरूनी हिस्से में लागू करने के लिए किसी दूसरे टाइप का इनसेट बनाया जा सकता है. इसके अलावा, इसे खाली इंस्टेंस WindowInsets(0, 0, 0, 0) पास करके बंद किया जा सकता है.
उदाहरण के लिए, LargeTopAppBar पर इनसेट हैंडलिंग बंद करने के लिए, windowInsets पैरामीटर को खाली इंस्टेंस पर सेट करें:
LargeTopAppBar( windowInsets = WindowInsets(0, 0, 0, 0), title = { Text("Hi") } )