बॉटम शीट का कुछ हिस्सा दिखाया जा सकता है. इसके बाद, उपयोगकर्ता को या तो उसे बनाने की अनुमति दी जा सकती है फ़ुल स्क्रीन मोड में देखने के लिए करें या उसे खारिज करें.
ऐसा करने के लिए, अपने ModalBottomSheet
को SheetState
का इंस्टेंस पास करें
skipPartiallyExpanded
को false
पर सेट किया गया.
उदाहरण
इस उदाहरण में, इसकी sheetState
प्रॉपर्टी का इस्तेमाल करने का तरीका बताया गया है
शीट को पहली बार में सिर्फ़ कुछ हद तक दिखाने के लिए ModalBottomSheet
:
@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
Lambda फ़ंक्शन यह कंट्रोल करता है कि जब उपयोगकर्ता कोई कार्रवाई करने की कोशिश करेगा, तो क्या होगा बॉटम शीट को खारिज करें. इस मामले में, यह सिर्फ़ शीट को हटाता है.
नतीजे
जब उपयोगकर्ता पहली बार बटन दबाता है, तो शीट का कुछ हिस्सा दिखता है:
अगर उपयोगकर्ता शीट पर ऊपर की ओर स्वाइप करता है, तो स्क्रीन पर कई जगह दिखती है: