इस्तेमाल में आसानी के लिए, Material 3 के कई कंपोज़ेबल (androidx.compose.material3
) अपने-आप इनसेट को मैनेज करते हैं. ऐसा इस आधार पर होता है कि कंपोज़ेबल को Material स्पेसिफ़िकेशन के मुताबिक, आपके ऐप्लिकेशन में कैसे रखा गया है.
इनसेट हैंडलिंग कंपोज़ेबल
यहां मटीरियल कॉम्पोनेंट की सूची दी गई है. ये अपने-आप इनसेट को मैनेज करते हैं.
ऐप्लिकेशन बार
TopAppBar
/SmallTopAppBar
/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 ) { // .. } }
इस वीडियो में, LazyColumn
में मौजूद Scaffold
को दिखाया गया है. इसमें एज-टू-एज डिसप्ले की सुविधा बंद और चालू, दोनों स्थितियों में दिखाई गई है:
डिफ़ॉल्ट इंसर्ट को बदलना
कंपोज़ेबल के व्यवहार को कॉन्फ़िगर करने के लिए, कंपोज़ेबल को पास किए गए windowInsets
पैरामीटर को बदला जा सकता है. इस पैरामीटर में, विंडो इंसर्ट का कोई दूसरा टाइप इस्तेमाल किया जा सकता है. इसके अलावा, इसे खाली इंस्टेंस WindowInsets(0, 0, 0, 0)
पास करके बंद किया जा सकता है.
उदाहरण के लिए, LargeTopAppBar
पर इनसेट हैंडलिंग बंद करने के लिए, windowInsets
पैरामीटर को खाली इंस्टेंस पर सेट करें:
LargeTopAppBar( windowInsets = WindowInsets(0, 0, 0, 0), title = { Text("Hi") } )