बॉटम शीट को कुछ हद तक दिखाया जा सकता है. इसके बाद, उपयोगकर्ता को यह तय करने का विकल्प दिया जा सकता है कि उसे स्क्रीन पर पूरी तरह से दिखाना है या खारिज करना है.
ऐसा करने के लिए, ModalBottomSheet
को SheetState
का एक इंस्टेंस पास करें. इसमें skipPartiallyExpanded
को false
पर सेट करें.
उदाहरण
इस उदाहरण में बताया गया है कि शीट को शुरू में सिर्फ़ कुछ हिस्से में दिखाने के लिए, ModalBottomSheet
की sheetState
प्रॉपर्टी का इस्तेमाल कैसे किया जा सकता है:
@Composable fun PartialBottomSheet() { var showBottomSheet by remember { mutableStateOf(false) } val sheetState = rememberModalBottomSheetState( skipPartiallyExpanded = false, ) Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally, ) { Button( onClick = { showBottomSheet = true } ) { Text("Display partial bottom sheet") } if (showBottomSheet) { ModalBottomSheet( modifier = Modifier.fillMaxHeight(), sheetState = sheetState, onDismissRequest = { showBottomSheet = false } ) { Text( "Swipe up to open sheet. Swipe down to dismiss.", modifier = Modifier.padding(16.dp) ) } } } }
कोड के बारे में अहम जानकारी
इस उदाहरण में, इन बातों पर ध्यान दें:
showBottomSheet
से यह कंट्रोल किया जाता है कि ऐप्लिकेशन में सबसे नीचे मौजूद शीट दिखेगी या नहीं.sheetState
,SheetState
का एक ऐसा इंस्टेंस है जहांskipPartiallyExpanded
गलत है.ModalBottomSheet
में एक मॉडिफ़ायर होता है, जिससे यह पक्का होता है कि पूरी तरह से बड़ा किए जाने पर, यह स्क्रीन को भर दे.ModalBottomSheet
, अपनेsheetState
पैरामीटर के लिएsheetState
को वैल्यू के तौर पर लेता है.- इस वजह से, पहली बार खोलने पर शीट का सिर्फ़ कुछ हिस्सा दिखता है. इसके बाद, उपयोगकर्ता इसे फ़ुल स्क्रीन में देखने या हटाने के लिए, खींच सकता है या स्वाइप कर सकता है.
onDismissRequest
लैम्ब्डा फ़ंक्शन से यह तय होता है कि जब उपयोगकर्ता सबसे नीचे मौजूद शीट को हटाने की कोशिश करता है, तो क्या होता है. इस मामले में, सिर्फ़ शीट हट जाएगी.
नतीजे
जब उपयोगकर्ता पहली बार बटन दबाता है, तो शीट का कुछ हिस्सा दिखता है:
अगर उपयोगकर्ता शीट पर ऊपर की ओर स्वाइप करता है, तो वह स्क्रीन को भर देती है: