يمكنك تفعيل الشاشة الشاملة في تطبيقك عن طريق طلب الرمز
enableEdgeToEdge
.
ومن المفترض أن يكون هذا كافيًا لمعظم التطبيقات. يوضِّح هذا الدليل طريقة تقديم تجربة شاملة إذا كان تطبيقك يحتاج إلى تنفيذ ذلك بدون استخدام enableEdgeToEdge
.
عرض تطبيقك في وضع ملء الشاشة
استخدِم WindowCompat.setDecorFitsSystemWindows(window,
false)
لتخطيط تطبيقك خلف أشرطة النظام، كما هو موضّح في مثال الرمز البرمجي التالي:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) }
Java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WindowCompat.setDecorFitsSystemWindows(getWindow(), false); }
تغيير لون أشرطة النظام
عند التشغيل بتنسيق شامل، يحتاج تطبيقك إلى تغيير ألوان أشرطة النظام للسماح للمحتوى الموجود أسفله بالظهور. بعد أن ينفِّذ تطبيقك هذه الخطوة، سيعالج النظام كل الحماية المرئية لواجهة المستخدم في وضع التنقّل بالإيماءات وفي وضع الأزرار.
- وضع التنقل بالإيماءات: يطبّق النظام تعديل الألوان الديناميكي، حيث يتغيّر لون محتوى أشرطة النظام بناءً على المحتوى الموجود خلفها. في المثال التالي، يتغير المقبض في شريط التنقل إلى لون داكن عندما يكون أعلى المحتوى الفاتح وإلى لون فاتح عندما يكون فوق المحتوى الداكن.
- وضع الزر: يطبِّق النظام إطارًا شفافًا خلف أشرطة النظام (بالنسبة إلى المستوى 29 من واجهة برمجة التطبيقات أو المستويات الأحدث) أو شريط نظام شفاف (مع المستوى 28 من واجهة برمجة التطبيقات أو المستوى الأقدم).
![صورة تعرض أشرطة نظام شفافة](https://developer.android.com/static/images/guide/navigation/e2e-translucent-scrim.png?authuser=6&hl=ar)
- لون محتوى شريط الحالة: للتحكم في لون محتوى شريط الحالة، مثل الوقت والرموز.
![صورة تعرض لون محتوى شريط الحالة](https://developer.android.com/static/images/guide/navigation/e2e-status-color.png?authuser=6&hl=ar)
يمكنك تعديل ملف themes.xml
لضبط لون شريط التنقل، واختياريًا ضبط شريط الحالة على شفاف ولون محتوى شريط الحالة
كاللون الداكن.
<!-- values-v29/themes.xml -->
<style name="Theme.MyApp">
<item name="android:navigationBarColor">
@android:color/transparent
</item>
<!-- Optional: set to transparent if your app is drawing behind the status bar. -->
<item name="android:statusBarColor">
@android:color/transparent
</item>
<!-- Optional: set for a light status bar with dark content. -->
<item name="android:windowLightStatusBar">
true
</item>
</style>
يمكنك استخدام واجهة برمجة تطبيقات
WindowInsetsController
مباشرةً، ولكن ننصحك بشدة باستخدام مكتبة الدعم
WindowInsetsControllerCompat
حيثما أمكن. يمكنك استخدام واجهة برمجة التطبيقات WindowInsetsControllerCompat
بدلاً من
theme.xml
للتحكّم في لون محتوى شريط الحالة. لإجراء ذلك، استخدِم الدالة
setAppearanceLightNavigationBars()
من خلال إدخال true
لتغيير لون المقدّمة في التنقّل إلى لون فاتح أو false
للرجوع إلى اللون التلقائي.
Kotlin
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) windowInsetsController?.isAppearanceLightNavigationBars = true
Java
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView()); if (windowInsetsController == null) { return; } windowInsetsController.setAppearanceLightNavigationBars(true);