גיליון תחתון חלקי

אתם יכולים להציג כרטיסייה תחתונה באופן חלקי, ואז לאפשר למשתמש להציג אותה במסך מלא או לסגור אותה.

כדי לעשות זאת, מעבירים ל-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 הוא false.
  • ModalBottomSheet מקבלת שינוי שמבטיח שהיא תמלא את המסך כשהיא מורחבת במלואה.
  • ModalBottomSheet מקבלת את הערך sheetState לפרמטר sheetState שלה.
    • כתוצאה מכך, הגיליון מוצג באופן חלקי בלבד בפתיחה הראשונה. לאחר מכן, המשתמש יכול לגרור או להחליק אותו כדי להציג אותו במסך מלא או לסגור אותו.
  • פונקציית הלוגריתם onDismissRequest קובעת מה קורה כשהמשתמש מנסה לסגור את הגיליון התחתון. במקרה כזה, רק הגיליון יוסר.

תוצאות

בפעם הראשונה שהמשתמש לוחץ על הלחצן, הגיליון מוצג באופן חלקי:

גיליון תחתון שמתחילה להופיע רק בחלק מהמסך. המשתמש יכול להחליק כדי למלא את המסך בהודעה או לסגור אותה.
איור 1. גיליון תחתון שמוצג באופן חלקי.

אם המשתמש מחליק למעלה בגיליון, הוא ממלא את המסך:

גיליון תחתון שהמשתמש הרחיב כדי למלא את המסך.
איור 2. גיליון תחתון במסך מלא.

מקורות מידע נוספים