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

כדי להקל על השימוש, הרבה מהפונקציות המובנות של Material 3 composables‏ (androidx.compose.material3) מטפלות בעצמן בשוליים הפנימיים, בהתאם למיקום הפונקציות באפליקציה לפי מפרטי 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 שמועבר לרכיב ה-Composable כדי להגדיר את ההתנהגות שלו. הפרמטר הזה יכול להיות סוג אחר של שוליים פנימיים של חלון שיוחל במקום זאת, או שניתן להשבית אותו על ידי העברת מופע ריק: WindowInsets(0, 0, 0, 0).

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

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