Foldable Device — الأساسيات، الأجهزة القابلة للطي في التطوير

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

Foldable Device (جهاز قابل للطي) هو فئة من الأجهزة المحمولة المزودة بشاشة مرنة تغير شكلها عند الطي والفتح. تعمل هذه الأجهزة كهاتف مضغوط وكلوحة رقمية حسب وضع الشاشة. وفقًا لـ Android Developers (2025)، نما السوق العالمي للأجهزة القابلة للطي بنسبة 42% خلال عام 2024، وأصبح تكييف التطبيقات مع هذا الشكل ضرورة لـ المشاريع الكبيرة.

الرئيسية

  • جهاز قابل للطي — جهاز بشاشة مرنة تغير شكلها عند الطي.
  • الأنواع — نمط الكتاب (Galaxy Z Fold)، نمط الصدفة (Galaxy Z Flip)، شاشة مزدوجة (Surface Duo).
  • حالة الطي — حالة الجهاز: مفتوح بالكامل، مطوي بالكامل، نصف مفتوح (tabletop).
  • التكييف — يجب إعادة هيكلة الواجهة عند تغير تكوين الشاشة.
  • WindowManager — واجهة Jetpack WindowManager API لمعالجة تغيرات حالة الجهاز القابل للطي.

ما هو الجهاز القابل للطي؟

الجهاز القابل للطي هو جهاز محمول بشاشة OLED مرنة قادرة على الطي دون إتلاف المصفوفة. في حالة الطي، يكون الجهاز مضغوطًا ويتسع في الجيب؛ وعند الفتح، يوفر شاشة بحجم لوحي. كان أول جهاز قابل للطي تجاري هو Royole FlexPai (2018)، لكن الفئة اشتهرت بفضل Samsung Galaxy Fold (2019) وHuawei Mate X.

الفرق الرئيسي بين الأجهزة القابلة للطي والتقليدية هو وجود مفصل (hinge) وشاشة مرنة. عند الطي، لا تنكسر الشاشة بل تنحني على طول نصف قطر تحدده هيكلية المفصل. تسمح التقنيات الحديثة (UTG — Ultra Thin Glass، 2020+ و Samsung Infinity Flex) بتحمل ما يصل إلى 200,000 دورة طي دون ضرر مرئي.

بالنسبة للمطور، تخلق الأجهزة القابلة للطي ثلاثة تحديات: تغير حجم الشاشة عند الفتح، وجود ثنية (crease)، والعمل في الحالة نصف المفتوحة (tabletop mode) عندما يكون الجهاز واقفًا على سطح بزاوية.

أنواع الأجهزة القابلة للطي

نمط الكتاب (book-style) — Galaxy Z Fold، Google Pixel Fold، OnePlus Open. شاشة خارجية (cover screen) للاستخدام عند الطي، وشاشة داخلية مرنة (inner screen) لوضع اللوحي. نسبة أبعاد الشاشة الخارجية حوالي 22:9، والداخلية حوالي 6:5 أو 4:3.

نمط الصدفة (flip-style) — Galaxy Z Flip، Motorola Razr، Oppo Find N2 Flip. طي عمودي، شاشة خارجية للإشعارات (1.5–3.5 بوصة)، وشاشة داخلية قياسية للهاتف (6.7–7 بوصات). الميزة الرئيسية — عند نصف الفتح (flex mode)، يمكن للتطبيق تقسيم الشاشة إلى منطقتين: عناصر التحكم في الأعلى، المحتوى في الأسفل.

شاشة مزدوجة — Microsoft Surface Duo، Lenovo ThinkPhone. شاشتان منفصلتان بمفصل في المنتصف. عند الفتح، تشكلان مساحة مشتركة لكن مع فجوة مادية بين الشاشتين. تأخذ API في الاعتبار زاوية المفصل وتسمح للتطبيق بالتمدد عبر كلتا الشاشتين.

واجهات برمجة التطبيقات للأجهزة القابلة للطي في Android

توفر Google Jetpack WindowManager للعمل مع الأجهزة القابلة للطي. تتضمن API ثلاثة مكونات رئيسية: WindowLayoutInfo — معلومات حول موقع الطي (fold)، WindowPosture — الوضع الفعلي للجهاز، وFoldingFeature — وصف منطقة الطي: الاتجاه والحالة والزاوية.

FoldingFeature يحتوي على نوع الطي (hinge — مفصل، fold — شاشة مرنة)، الحالة (flat — مفتوح، half-opened — نصف مفتوح، folded — مطوي) وزاوية الطي (من 0 إلى 180 درجة). الزاوية متوفرة على الأجهزة المزودة بمستشعر زاوية (Galaxy Z Fold، Pixel Fold).

kotlin
val windowInfoRepository =
    WindowInfoTracker.getOrCreate(context)
windowInfoRepository.windowLayoutInfo(context)
    .collect { layoutInfo ->
        layoutInfo.displayFeatures
            .filterIsInstance<FoldingFeature>()
            .forEach { feature ->
                // معالجة الطي
            }
    }

لتحديد ما إذا كان الجهاز قابلاً للطي، استخدم PackageManager.hasSystemFeature("android.hardware.sensor.hinge_angle"). هذا المستشعر موجود في الجهاز ذي المفصل — وغائب في الهواتف العادية.

تكييف الواجهة للأجهزة القابلة للطي

تكييف الواجهة هو المهمة الرئيسية للمطور عند دعم الأجهزة القابلة للطي. عند الفتح، يمكن أن يتضاعف عرض النافذة، ويجب إعادة هيكلة الواجهة من عمود واحد إلى أعمدة متعددة. استخدم Window Size Class للتبديل بين التخطيطات — عند الفتح، تتغير الفئة من Compact إلى Expanded.

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

بالنسبة للوضع المرن (flex mode أو tabletop mode)، يجب أن يقسم التصميم الشاشة إلى منطقتين وظيفيتين. العلوية لعرض المحتوى (فيديو، معرض، قائمة)، السفلية لعناصر التحكم (أزرار، وحدات تحكم، لوحة مفاتيح). يُطبق هذا النمط في مشغلات الفيديو: YouTube على Galaxy Z Flip يعرض الفيديو في الأعلى، والتوصيات والأزرار في الأسفل.

الاختبار على الأجهزة القابلة للطي

الاختبار هو أحد أصعب جوانب التطوير للأجهزة القابلة للطي. يتيح محاكي Android محاكاة الأجهزة القابلة للطي عبر AVD مع تكوين "Foldable" (شاشة داخلية 7.6 بوصة، شاشة خارجية 4.6 بوصة). يدعم المحاكي التبديل بين الحالة المطوية والمفتوحة.

للاختبار في المحاكي، يُستخدم ADB. الأمر adb shell am broadcast -a android.intent.action.VIEW -e mode expand يفتح الجهاز، وadb shell am broadcast -a android.intent.action.VIEW -e mode fold يطويه. يمكن أيضًا تغيير زاوية الطي في نافذة المحاكي.

يُوصى بالاختبار الفعلي على أجهزة مادية للتحقق من إحساس الانتقال وجودة المفصل ورؤية الثنية. النماذج الرئيسية للاختبار: Samsung Galaxy Z Fold 6 (نمط الكتاب)، Samsung Galaxy Z Flip 6 (نمط الصدفة)، Google Pixel Fold، Motorola Razr 50.

أفضل ممارسات التصميم للأجهزة القابلة للطي

لا تضع العناصر الحيوية في منطقة الثنية. يجب أن تكون الأزرار وحقول الإدخال والعناصر التفاعلية على مسافة لا تقل عن 24 dp من خط الثنية. الثنية (crease) هي خاصية متأصلة في الشاشات المرنة؛ تقل رؤيتها مع كل جيل لكنها لا تختفي تمامًا.

استخدم الاستمرارية بدلاً من الانقطاع. عند الفتح، يجب أن ينتقل المحتوى بسلاسة من الشاشة الخارجية إلى الداخلية أو يتمدد عبر المساحة بأكملها. تجنب تحميل Activity جديدة — استخدم إعادة حساب التخطيط داخل نفس الشاشة. Jetpack WindowManager يتتبع التغييرات ويُعلم التطبيق عبر WindowLayoutInfo.

ضع في اعتبارك زاوية المفصل للسيناريوهات الإبداعية. في تطبيقات الصور والفيديو، الوضع نصف المفتوح (90°) يحول الجهاز إلى حامل: الكاميرا تصور، والجزء السفلي من الشاشة يعرض لوحة التحكم. هذا السيناريو شائع بشكل خاص في Samsung Camera والتطبيقات الأصلية.

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

كيفية تحديد ما إذا كان الجهاز قابلاً للطي؟

تحقق من وجود PackageManager.FEATURE_SENSOR_HINGE_ANGLE. إذا كان true — الجهاز قابل للطي مع مستشعر زاوية المفصل. إضافيًا، تحقق من DisplayFold API.

كيفية معالجة الانتقال من الوضع المطوي إلى المفتوح؟

اشترك في WindowInfoTracker.windowLayoutInfo(). عند تغير حالة FoldingFeature، أعد هيكلة الواجهة وفقًا لـ Window Size Class وموضع الطي.

ما هو الحد الأدنى من SDK لواجهات برمجة تطبيقات الأجهزة القابلة للطي؟

يعمل Jetpack WindowManager على API 14+. لكن FoldingFeature.HALF_OPENED يتطلب API 24+ (Android 7.0). مستشعر بيانات زاوية المفصل متوفر على Android 10+.

هل تحتاج إلى إنشاء تخطيطات منفصلة للأجهزة القابلة للطي؟

لا. استخدم Window Size Class وLayoutomization من Jetpack WindowManager. كود واحد مع التحقق من فئة الحجم يستبدل تخطيطات الموارد المنفصلة.

هل تعمل الأجهزة القابلة للطي تحت الماء؟

معظم الأجهزة القابلة للطي تتمتع بحماية IP48 أو IP58 — مقاومة محدودة للماء. تحت الماء، قد تتلف الشاشة المرنة، لذلك لا يوصي المصنعون بالغمر.

الملخص

  • جهاز قابل للطي — جهاز بشاشة مرنة تغير حجم الشاشة عند الطي.
  • الأنواع — نمط الكتاب (Galaxy Z Fold)، نمط الصدفة (Galaxy Z Flip)، شاشة مزدوجة (Surface Duo).
  • Jetpack WindowManager — API لتتبع FoldingFeature والحالة وزاوية الطي.
  • Window Size Class — التبديل بين الفئات عند فتح الجهاز.
  • Flex mode — تقسيم الشاشة إلى منطقة عرض وتحكم عند نصف الفتح.
  • الاختبار — AVD Foldable في المحاكي، ADB لإدارة الحالة.
  • الخلاصة — الأجهزة القابلة للطي تشكل معيارًا جديدًا لتجربة الهاتف المحمول، وأصبح تكييف التطبيقات لها ميزة تنافسية.

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

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

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

اقرأ أيضًا