बॉटम शीट का कुछ हिस्सा

बॉटम शीट को कुछ हद तक दिखाया जा सकता है. इसके बाद, उपयोगकर्ता को यह तय करने का विकल्प दिया जा सकता है कि उसे स्क्रीन पर पूरी तरह से दिखाना है या खारिज करना है.

ऐसा करने के लिए, 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 लैम्ब्डा फ़ंक्शन से यह तय होता है कि जब उपयोगकर्ता सबसे नीचे मौजूद शीट को हटाने की कोशिश करता है, तो क्या होता है. इस मामले में, सिर्फ़ शीट हट जाएगी.

नतीजे

जब उपयोगकर्ता पहली बार बटन दबाता है, तो शीट का कुछ हिस्सा दिखता है:

एक बॉटम शीट, जो शुरुआत में सिर्फ़ स्क्रीन का कुछ हिस्सा भरती है. उपयोगकर्ता, स्क्रीन को उससे भरने के लिए स्वाइप कर सकता है या उसे खारिज कर सकता है
पहला डायग्राम. कुछ हद तक दिखाई गई बॉटम शीट.

अगर उपयोगकर्ता शीट पर ऊपर की ओर स्वाइप करता है, तो वह स्क्रीन को भर देती है:

स्क्रीन को भरने के लिए, उपयोगकर्ता ने बड़ी की गई बॉटम शीट.
दूसरी इमेज. फ़ुल-स्क्रीन में दिखने वाली सबसे नीचे की शीट.

अन्य संसाधन