نظرة عامة على توافق الشاشة

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

الشكل 1. يعمل Android على أجهزة مختلفة ذات شاشات وكثافة وحدات بكسل مختلفة.

تقدّم هذه الصفحة نظرة عامة على الميزات المتاحة في Android لمساعدة تطبيقك في التكيّف وفقًا لذلك. للحصول على مزيد من الإرشادات المحددة حول كيفية إنشاء تطبيقك لأشكال الشاشة المختلفة، اطّلع على الوثائق التالية:

أحجام الشاشة

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

التنسيقات المرنة

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

لمعرفة المزيد من المعلومات عن التنسيقات المرنة، اطّلع على التصميم سريع الاستجابة.

التخطيطات البديلة

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

الشكل 2. يستخدم التطبيق نفسه تنسيقًا مختلفًا لأحجام الشاشات المختلفة.

للتعرّف على كيفية إنشاء تنسيقات بديلة، اطّلِع على التصميم التكيُّفي.

صور قابلة للتمديد

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

لحل هذه المشكلة، يتيح Android استخدام الصور النقطية ذات التسع رقعات التي يمكنك فيها تحديد مناطق وحدات البكسل الصغيرة القابلة للتمديد، بينما تظل بقية الصور بدون مقياس.

لمزيد من المعلومات حول الصور النقطية التي تضم تسعة تصحيحات، يمكنك الاطّلاع على العناصر القابلة للرسم من NinePatch.

كثافات وحدات البكسل

كثافة وحدات البكسل هي عدد وحدات البكسل في مساحة فعلية من الشاشة. ويُشار إليها باسم النقاط لكل بوصة (DPI). تختلف هذه الدقة عن دقة الشاشة، وهي إجمالي عدد وحدات البكسل على الشاشة.

الشكل 3. تمثيل مُبالَغ فيه لجهازين بحجمهما نفسه ولكن لكل منهما كثافات بكسل مختلفة.

استقلال الكثافة

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

يساعدك Android في تحقيق استقلالية الكثافة من خلال توفير وحدة بكسل مستقلة الكثافة (dp أو dip) كوحدة قياس تستخدمها بدلاً من وحدات البكسل.

لمعرفة المزيد من المعلومات عن وحدات البكسل المستقلة الكثافة، راجِع استخدام وحدات البكسل غير المرتبطة بالكثافة.

الصور النقطية البديلة

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

للتعرّف على كيفية تقديم صور نقطية بديلة، يمكنك الاطّلاع على المقالة تقديم صور نقطية بديلة.

رسومات موجّهة

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

لمعرفة المزيد من المعلومات عن استخدام الرسومات المتجهة، اطّلِع على تفضيل الرسومات الموجّهة.

Wear OS وTV والسيارات وChromeOS

تنطبق الاقتراحات السابقة على جميع أشكال الأجهزة التي تعمل بنظام التشغيل Android، ولكن إذا أردت إنشاء تطبيق للأجهزة التي تعمل بنظام التشغيل Wear OS أو Android TV أو Android Auto أو Android Automotive أو أجهزة ChromeOS، عليك بذل المزيد من الجهد.

لكل نوع من أنواع الأجهزة هذه نموذج خاص بتفاعل المستخدم يجب أن يستوعبه تطبيقك. في بعض الحالات، مثل Wear OS، يجب إعادة التفكير في تجربة المستخدم الخاصة بتطبيقك وإنشاء تطبيق مخصّص لذلك الجهاز. في المقابل، إذا أردت التوافق مع أجهزة ChromeOS، مثل Google Pixelbook، قد تحتاج فقط إلى إجراء تعديلات طفيفة على تطبيقك الحالي لإتاحة التفاعل مع لوحة المفاتيح أو الماوس واستخدام شاشة أكبر.

لإتاحة هذه الأجهزة، يمكنك الرجوع إلى المستندات التالية:

الهواتف القابلة للطيّ

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

الشكل 4. الطي والفتح.

عادةً ما يكون للتطبيق الذي يعمل بشكل جيد في وضع النوافذ المتعددة لأحجام النوافذ المختلفة سلوكًا جيدًا على الأجهزة القابلة للطي.

للمزيد من المعلومات حول إنشاء تطبيقات للأجهزة القابلة للطي، يُرجى الاطّلاع على مزيد من المعلومات حول الأجهزة القابلة للطي.

عدم توافق الشاشة

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