אחרי שהאפליקציה מטרגטת ל-SDK 35 ומעלה, התצוגה מקצה לקצה נאכפת. שורת הסטטוס של המערכת וסרגלי הניווט באמצעות תנועות שקופים, אבל סרגל הניווט עם שלושת הכפתורים שקוף למחצה. כדי להגדיר את enableEdgeToEdge כתואם לדור הקודם, צריך להתקשר אליו.
עם זאת, יכול להיות שברירות המחדל של המערכת לא יתאימו לכל תרחישי השימוש. במאמרים הנחיות לעיצוב סרגלי מידע ב-Android והנחיות לעיצוב מקצה לקצה מוסבר מתי כדאי להשתמש בסרגלי מידע שקופים או שקופים למחצה.
יצירת סרגלי מידע שקופים
כדי ליצור סרגל ניווט שקוף באמצעות מחוות, צריך לטרגט ל-Android מגרסה 15 ואילך או לקרוא ל-enableEdgeToEdge() עם ארגומנטים שמוגדרים כברירת מחדל לגרסאות קודמות. בסרגל הניווט עם שלושת הלחצנים, מגדירים את Window.setNavigationBarContrastEnforced ל-false. אחרת, יוחל מסך חצי שקוף.
יצירת סרגלי מערכת שקופים
כדי ליצור סרגל סטטוס שקוף למחצה, יוצרים קומפוזיציה מותאמת אישית שחופפת לתוכן הראשי ומציירת הדרגה באזור שמכוסה על ידי שוליים פנימיים.
class SystemBarProtectionSnippets : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // enableEdgeToEdge sets window.isNavigationBarContrastEnforced = true // which is used to add a translucent scrim to three-button navigation enableEdgeToEdge() setContent { MyTheme { // Main content MyContent() // After drawing main content, draw status bar protection StatusBarProtection() } } } } @Composable private fun StatusBarProtection( color: Color = MaterialTheme.colorScheme.surfaceContainer, ) { Spacer( modifier = Modifier .fillMaxWidth() .height( with(LocalDensity.current) { (WindowInsets.statusBars.getTop(this) * 1.2f).toDp() } ) .background( brush = Brush.verticalGradient( colors = listOf( color.copy(alpha = 1f), color.copy(alpha = 0.8f), Color.Transparent ) ) ) ) }
באפליקציות אדפטיביות, צריך להוסיף קומפוזיציה בהתאמה אישית שתתאים לצבעים של כל חלונית, כמו שרואים בעיצוב מקצה לקצה. כדי ליצור סרגל ניווט שקוף למחצה, מגדירים את Window.setNavigationBarContrastEnforced כ-true.