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

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

כדי לעשות זאת, מעבירים ל-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. גיליון תחתון במסך מלא.

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