عندما يستهدف تطبيقك حزمة 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 على "صحيح".