الإعداد اليدوي للشاشة الممتدة من الحافة إلى الحافة

يؤدي استدعاء enableEdgeToEdge إلى تضمين المنطق اللازم لتحقيق التوافق مع الإصدارات القديمة، وبالتالي، يُعدّ هذا الإجراء الطريقة المُوصى بها لإعداد عرض من الحافة إلى الحافة. يُرجى الرجوع إلى مستندات Compose وطرق العرض بدلاً من هذا الدليل لمعرفة الطريقة الحديثة لعرض المحتوى من الحافة إلى الحافة باستخدام enableEdgeToEdge.

إذا كان تطبيقك يحتاج إلى إعداد عرض من الحافة إلى الحافة يدويًا، يمكنك اتّباع الخطوات التالية، مع العلم أنّنا لا ننصح بذلك:

  1. الاتصال بالرقم WindowCompat.setDecorFitsSystemWindows(window, false).
  2. اضبط أشرطة النظام على الوضع الشفاف.
  3. التعامل مع الحواف الداخلية

تنسيق تطبيقك بملء الشاشة

استخدِم 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.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>

يمكنك استخدام واجهة برمجة التطبيقات 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 وViews للتعرّف على كيفية التعامل مع الإضافات.