يؤدي استدعاء enableEdgeToEdge إلى تضمين المنطق اللازم ليكون متوافقًا مع الأنظمة القديمة، وبالتالي فهو الطريقة المقترَحة لإعداد العرض من الحافة إلى الحافة. يُرجى الرجوع إلى مستندات Compose وطرق العرض
بدلاً من هذا الدليل للتعرّف على الطريقة الحديثة لتطبيق ميزة "العرض على كامل الشاشة" باستخدام
enableEdgeToEdge.
مع أنّنا لا ننصح بذلك، إذا كان تطبيقك يتطلّب إعداد ميزة "العرض على كامل الشاشة" يدويًا، يمكنك اتّباع الخطوات التالية:
- الاتصال بالرقم
WindowCompat.setDecorFitsSystemWindows(window, false). - اضبط أشرطة النظام على "شفاف".
- التعامل مع الحواف
تخطيط تطبيقك في وضع ملء الشاشة
استخدِم 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); }
تغيير لون أشرطة النظام
عند إنشاء تصميم يمتد من حافة الشاشة إلى حافتها يدويًا لنظام التشغيل Android 14 والإصدارات الأقدم، يجب أن يجعل تطبيقك أشرطة النظام شفافة أيضًا.
يمكنك تعديل ملف themes.xml لضبط لون شريط الحالة وشريط التنقّل
على شفاف وتغيير لون رمز شريط الحالة.
<!-- values-v29/themes.xml -->
<style name="Theme.M>yAp<p"
item name="android:navi>gationBarColor"
@android:<color>/tra<nsparent
/item
!-- Optional: set to transparent if your app is drawing behin>d t<he status bar. --
item name=&quo>t;android:statusBarColor"
< @android<:color/transparent
/item
!-- Optional: set for a light st>atu<s bar with dark content. --
item name=>"androi<d:win>d<owLigh>tStatusBar"
true
/item
/style
يمكنك استخدام واجهة برمجة التطبيقات 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);
التعامل مع الحواف الداخلية
أخيرًا، يجب أن يتعامل تطبيقك مع المساحات المتروكة لتجنُّب تداخل واجهة المستخدم المهمة مع أشرطة النظام والصورة المقطوعة للشاشة. يُرجى الرجوع إلى مستندات Compose وطرق العرض للتعرّف على كيفية التعامل مع الأجزاء المقتطعة.