Split Screen — ما هو، وضع تطبيقين على الشاشة

المؤلف: IT Sectr نُشر: 2026-06-08 وقت القراءة: 9 دق

Split Screen هو وضع الشاشة المقسمة الذي يسمح بتشغيل تطبيقين في وقت واحد جنباً إلى جنب، مع تقسيم المساحة المتاحة. يمكن للمستخدم سحب الفاصل بين النوافذ وتغيير النسب والتبديل بسرعة بين التطبيقات في كل نصف. وفقاً لـ Android Developers (2025)، فإن Split Screen جزء من برنامج التوافق الإلزامي لجميع الأجهزة التي يبلغ عرض شاشتها 600 dp فأكثر، وهو مدعوم على كل من Android وiPadOS.

الملامح الرئيسية

  • Split Screen — تطبيقان على الشاشة مع فاصل قابل للسحب.
  • Split Screen على Android — يعمل منذ Android 7.0، يتم تفعيله عبر Overview.
  • Split View على iPad — وضع مماثل في iPadOS بثلاثة أوضاع للفاصل.
  • التكيف — يجب أن يعالج التطبيق تغيير حجم النافذة ويحافظ على الحالة.
  • الحد الأدنى للعرض — يمكن أن تتقلص نافذة التطبيق في Split Screen إلى 220 dp.

ما هو Split Screen؟

Split Screen هو وضع تعدد المهام حيث تنقسم الشاشة إلى منطقتين وظيفيتين، كل منهما تحتوي على تطبيق منفصل. على عكس Slide Over أو PiP، حيث تطفو نافذة فوق أخرى، يمنح Split Screen كلا التطبيقين مكانة متساوية — يحصل كل منهما على نصف الشاشة الخاص به.

يتوفر الوضع على Android (منذ 7.0 Nougat) وiPadOS (منذ iOS 9) وWindows (Snap Assist) وبعض بيئات سطح المكتب Linux. في تطوير التطبيقات المحمولة، يعتبر Split Screen سيناريو إلزامياً للأجهزة اللوحية والقابلة للطي، حيث أن تعدد المهام ميزة أساسية للنظام الأساسي.

يقوم المستخدم بتفعيل Split Screen بالضغط المطول على أيقونة التطبيق في Overview (Android) أو بالسحب من Dock (iPad). بعد التفعيل، تنقسم الشاشة ويختار المستخدم التطبيق الثاني من القائمة الحديثة أو من Dock.

Split Screen على Android: كيف يعمل

في Android، تتم إدارة Split Screen عبر Window Manager. عندما يقوم المستخدم بتفعيل الوضع، ينشئ النظام StackView — واحد لكل Activity. يتم عرض الفاصل بين النوافذ بواسطة النظام، بسمك أدنى يبلغ 1 dp، وقد يزداد على الأجهزة المزودة بـ Gesture Navigation.

يتلقى كل تطبيق إشعاراً بتغيير الحجم عبر onConfigurationChanged. إذا لم تعالج Activity هذا الحدث، يتم إتلافها وإعادة إنشائها. بالنسبة للفيديو والألعاب، هذا أمر بالغ الأهمية: إعادة إنشاء Activity يعيد تعيين موضع التشغيل أو حالة اللعبة.

يمكن تغيير نسب النوافذ بسحب الفاصل. يدعم Android ثلاث حالات: 50/50 و70/30 و30/70. يمكن للمستخدم أيضاً تبديل التطبيقات، مما يؤدي إلى إعادة تشغيل Activity إذا لم تتم معالجة configChanges.

Split View على iPadOS: الميزات

Split View هو تطبيق Split Screen في iPadOS. على عكس Android، حيث يبدأ تقسيم الشاشة دائماً من المنتصف، يقدم iPadOS للمستخدم ثلاثة أوضاع للفاصل: 50/50 و25/75 و75/25. يتم تفعيل الوضع عبر Dock أو App Exposé.

في iPadOS، يمكن طي التطبيق في Split View إلى Slide Over — نافذة عائمة. هذه ميزة فريدة من Apple: يمكن للمستخدم تحويل إحدى النوافذ من Split View إلى Slide Over والعكس دون فقدان البيانات. يجب على المطور دعم جميع الأوضاع الثلاثة: ملء الشاشة وSplit View وSlide Over.

لدعم Split View في iOS، يجب أن ينفذ التطبيق تخطيطات متكيفة عبر Size Classes والمشهد (UIScene). منذ iOS 13، تطلب Apple من التطبيق معالجة وضع النوافذ المتعددة بشكل صحيح — وإلا قد يقوم النظام بإعادة تشغيل Activity قسراً على iPad.

معالجة تغييرات التكوين

عند الدخول إلى Split Screen والخروج منه، تحدث تغييرات في التكوين: يتغير عرض النافذة وارتفاعها ونسبة أبعادها. السلوك القياسي لنظام Android هو إعادة إنشاء Activity (onDestroy + onCreate). لتجنب ذلك، حدد android:configChanges في البيان.

عند إعادة الإنشاء، تفقد Activity حالة View وViewModel. استخدم SavedStateHandle لحفظ حالة واجهة المستخدم أو ViewModel بنطاق Application. بديل لذلك هو onRetainNonConfigurationInstance() للكائنات المعقدة.

kotlin
@Override
fun onConfigurationChanged(newConfig: Configuration) {
    super.onConfigurationChanged(newConfig)
    val isSplitScreen = isInMultiWindowMode()
    if (isSplitScreen) {
        adjustLayoutForSplitScreen()
    }
}

في iPadOS، الآلية المكافئة هي traitCollectionDidChange أو viewWillTransitionToSize. يتلقى المطور حجم الحاوية الجديد ويجب عليه إعادة بناء التخطيط وفقاً لـ Size Class.

دعم Split Screen في الكود

على Android، يبدأ دعم Split Screen بتعيين العلم resizeableActivity في البيان. بعد ذلك، يمكن أن تتقلص Activity إلى عرض أدنى يبلغ 220 dp. إذا كان التطبيق لا يدعم شاشة ضيقة جداً، حدد android:minWidth في البيان.

بالنسبة لـ iPad، يحتاج المطور فقط إلى دعم Size Classes واستخدام Auto Layout أو SwiftUI. SwiftUI يكيّف الواجهة تلقائياً عند الدخول إلى Split View — على سبيل المثال، يتحول NavigationSplitView بين الأوضاع المكدسة والجانبية.

يوصى باختبار Split Screen على أجهزة حقيقية أو في محاكي مع إعداد نافذة متعددة قابلة للتغيير. يسمح محاكي Android بتشغيل أي عدد من النوافذ عبر ADB والتحقق من سلوك التطبيق بنسب مختلفة.

النظام الأساسيآلية التكيفالحد الأدنى للعرض
AndroidresizeableActivity + configChanges220 dp
iPadOSSize Classes + UIScene320 pt (أساسي)

الأخطاء الشائعة في التنفيذ

الخطأ الأول هو تجاهل الحفاظ على الحالة. في Split Screen، يمكن إعادة إنشاء Activity في أي لحظة دون تدخل المستخدم. إذا كانت البيانات مخزنة فقط في متغيرات محلية، فستفقد. استخدم ViewModel لبيانات الشاشة وSavedStateHandle للحالات الحرجة.

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

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

الأسئلة الشائعة

كيفية تشغيل تطبيق في Split Screen برمجياً؟

استخدم Intent مع FLAG_ACTIVITY_LAUNCH_ADJACENT. إذا كان الجهاز في وضع Split Screen، سيفتح التطبيق في النافذة المجاورة. إذا كان الجهاز في وضع ملء الشاشة، يتم تجاهل العلم.

هل تختلف دورة حياة Activity في Split Screen؟

نعم. تبقى Activity مرئية لكنها تفقد التركيز — يتم استدعاء onPause، ولكن ليس onStop. عند الخروج من Split Screen، يتم استدعاء onMultiWindowModeChanged ثم onResume.

كيفية التحقق من عرض النافذة في Split Screen؟

استخدم WindowManager.getCurrentWindowMetrics() أو Jetpack WindowManager. لا تستخدم Display.getSize() — فهو يعيد الشاشة الكاملة، وليس نافذة التطبيق الحالية.

هل Split Screen مدعوم على الأجهزة القابلة للطي؟

نعم. على الجهاز في الحالة المفتوحة، غالباً ما يكون Split Screen هو الوضع الافتراضي. يقدم Samsung Galaxy Z Fold في الوضع الأفقي Split Screen مع ثلاثة تطبيقات في وقت واحد.

كيفية تعطيل Split Screen لنشاط معين؟

قم بتعيين android:resizeableActivity="false" لذلك Activity. بالنسبة لـ API 24+، هذا العلم يعطل Split Screen. على Android 12L+، استخدم android:minWidth وandroid:minHeight.

الخلاصة

  • Split Screen — وضع تطبيقين على الشاشة، متاح على Android وiPadOS.
  • Android — يعمل عبر resizeableActivity + onConfigurationChanged.
  • iPadOS — Split View بثلاثة أوضاع للفاصل، قابل للتحويل إلى Slide Over.
  • التكيف — معالجة تغييرات الحجم عبر configChanges أو إعادة الإنشاء.
  • الحفاظ على الحالة — ViewModel وSavedStateHandle إلزاميان لـ Split Screen.
  • الاختبار — الحد الأدنى للعرض 220 dp على Android و320 pt على iPad.
  • الاستنتاج — Split Screen وضع إلزامي للأجهزة اللوحية والقابلة للطي، ويتطلب إدارة دورة الحياة وتخطيطات متكيفة.

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا