שימוש ברכיבי משנה של Material 3

כדי להקל על השימוש, הרבה מהפונקציות המובנות של Material 3 composables‏ (androidx.compose.material3) מטפלות בעצמן ב-insets, בהתאם למיקום של הפונקציות האלה באפליקציה לפי המפרטים של Material.

פונקציות קומפוזביליות לטיפול ב-inset

בהמשך מופיעה רשימה של רכיבי Material שמטפלים אוטומטית ב-insets.

סרגלי אפליקציות

קונטיינרים של תוכן

פיגום

כברירת מחדל, Scaffold מספקת את השוליים הפנימיים כפרמטר paddingValues לשימושכם. ‫Scaffold לא חל על התוכן; האחריות לכך היא שלכם. לדוגמה, כדי להשתמש ב-insets האלה עם LazyColumn בתוך Scaffold:

Scaffold { innerPadding ->
    // innerPadding contains inset information for you to use and apply
    LazyColumn(
        // consume insets as scaffold doesn't do it by default
        modifier = Modifier.consumeWindowInsets(innerPadding),
        contentPadding = innerPadding
    ) {
        // ..
    }
}

בסרטון הבא מוצג LazyColumn בתוך Scaffold עם תצוגה מקצה לקצה, כשהתכונה מושבתת ומופעלת:

שינוי ברירות המחדל של השוליים הפנימיים

אפשר לשנות את הפרמטר windowInsets שמועבר לרכיב הניתן להרכבה כדי להגדיר את ההתנהגות שלו. הפרמטר הזה יכול להיות סוג אחר של שוליים פנימיים של חלון שיוחל במקום ברירת המחדל, או שניתן להשבית אותו על ידי העברת מופע ריק: WindowInsets(0, 0, 0, 0).

לדוגמה, כדי להשבית את הטיפול בשוליים הפנימיים ב-LargeTopAppBar, מגדירים את הפרמטר windowInsets למופע ריק:

LargeTopAppBar(
    windowInsets = WindowInsets(0, 0, 0, 0),
    title = {
        Text("Hi")
    }
)