دعم النوافذ المتعددة

في Android 7.0 والإصدارات الأحدث، يمكن للأجهزة عرض تطبيقات متعددة في وقت واحد باستخدام النوافذ المتعددة. يدعم Android ثلاثة تكوينات متعددة النوافذ:

  • تقسيم الشاشة هو التطبيق الافتراضي للنوافذ المتعددة، والذي يوفر جزأين للنشاط حيث يمكن للمستخدمين وضع التطبيقات.
  • يسمح Freeform للمستخدمين بتغيير حجم أجزاء النشاط ديناميكيًا والحصول على أكثر من تطبيقين مرئيين على شاشتهم.
  • تتيح ميزة صورة داخل صورة (PIP) لأجهزة Android تشغيل محتوى الفيديو في نافذة صغيرة أثناء تفاعل المستخدم مع التطبيقات الأخرى.

تطبيق

يتم تمكين دعم النوافذ المتعددة افتراضيًا في Android 7.0 والإصدارات الأحدث. لتعطيله، قم بتعيين علامة config_supportsMultiWindow على false في ملف config.xml بجهازك.

يتم تعطيل النوافذ المتعددة بشكل افتراضي على كافة الأجهزة ذات ذاكرة الوصول العشوائي المنخفضة (الأجهزة التي تعلن عن ActivityManager.isLowRam() ). تتجاهل الأجهزة ذات ذاكرة الوصول العشوائي المنخفضة قيمة علامة config_supportsMultiWindow .

تقسيم الشاشة

إن التجربة الافتراضية للنوافذ المتعددة هي وضع تقسيم الشاشة، حيث يتم تقسيم واجهة مستخدم النظام في منتصف الجهاز في الوضع الرأسي أو الأفقي. يمكن للمستخدمين تغيير حجم النافذة عن طريق سحب الخط الفاصل من جانب إلى آخر أو من أعلى إلى أسفل، اعتمادًا على اتجاه الجهاز.

بعد تمكين تقسيم الشاشة، يمكن للشركات المصنعة للأجهزة اختيار تمكين الشكل الحر أو PIP.

يعمل نظام Android 8.0 والإصدارات الأحدث على تحسين تقسيم الشاشة عن طريق ضغط المشغل عندما ينقر المستخدم على الصفحة الرئيسية . للحصول على تفاصيل التنفيذ، راجع تفاعلات الشاشة المقسمة .

شكل حر

بعد تمكين وضع النوافذ المتعددة باستخدام علامة config_supportsMultiWindow ، يمكن لمصنعي الأجهزة السماح بالنوافذ ذات الشكل الحر. يعد هذا الوضع مفيدًا للغاية على الأجهزة الأكبر حجمًا، مثل الأجهزة اللوحية.

لدعم الوضع الحر، قم بتمكين ميزة النظام PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT في /android/frameworks/base/core/java/android/content/pm/PackageManager.java وقم بتعيين config_freeformWindowManagement على true في config.xml .

    <bool name="config_freeformWindowManagement">true</bool>
    

صور في صور

بعد تمكين وضع النوافذ المتعددة باستخدام علامة config_supportsMultiWindow ، يمكن لمصنعي الأجهزة دعم صورة داخل صورة ، والتي تتيح للمستخدمين مشاهدة الفيديو أثناء تصفح الأنشطة الأخرى. على الرغم من أن هذه الميزة تستهدف أجهزة Android Television، إلا أن أنواع الأجهزة الأخرى قد تدعم هذه الميزة.

لدعم PIP، قم بتمكين ميزة نظام PackageManager#FEATURE_PICTURE_IN_PICTURE في /android/frameworks/base/core/java/android/content/pm/PackageManager.java .

لمزيد من تفاصيل تنفيذ PIP للأجهزة التي تعمل بنظام التشغيل Android 8.0 والإصدارات الأحدث، راجع صفحة صورة داخل صورة .

واجهة مستخدم النظام

دعم جميع واجهات مستخدم النظام القياسية وفقًا لوثائق مطور النوافذ المتعددة .

تطبيقات

لدعم وضع النوافذ المتعددة للتطبيقات المحملة مسبقًا، راجع وثائق مطور Android .

تصديق

للتحقق من صحة تنفيذك للنوافذ المتعددة، قم بتشغيل اختبارات CTS ذات الصلة واتبع تعليمات الاختبار الخاصة بالنوافذ المتعددة .

بالنسبة لنظام التشغيل Android 7.0، توجد الاختبارات في /platform/cts/hostsidetests/services/activitymanager/src/android/server/cts . في Android 8.0 والإصدارات الأحدث، تكون الاختبارات في /platform/cts/tests/framework/base/activitymanager/src/android/server/am .