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