بما أنّ تطبيقات Android تعمل الآن على مجموعة متنوعة من الأجهزة (مثل الهواتف والأجهزة اللوحية والأجهزة القابلة للطي وأجهزة الكمبيوتر والسيارات وأجهزة التلفزيون) وأوضاع عرض المحتوى في النافذة الحالية على الشاشات الكبيرة (مثل وضع تقسيم الشاشة والعرض في نافذة)، على المطوّرين إنشاء تطبيقات Android تتكيّف مع أي حجم للشاشة والنافذة، بغض النظر عن اتجاه الجهاز. إنّ نماذج التصميم، مثل حصر الاتجاه وإمكانية تغيير الحجم، أصبحت مقيّدة جدًا في عالم اليوم الذي يضم أجهزة متعددة.
تجاهل القيود المفروضة على الاتجاه وإمكانية تغيير الحجم ونسبة العرض إلى الارتفاع
بالنسبة إلى التطبيقات التي تستهدف الإصدار 17 من نظام التشغيل Android أو الإصدارات الأحدث، لن تنطبق قيود الاتجاه وتغيير الحجم ونسبة العرض إلى الارتفاع على الشاشات التي يزيد عرضها الأصغر عن 600 بكسل مستقل الكثافة. تتضمّن التطبيقات نافذة العرض بأكملها، بغض النظر عن نسبة العرض إلى الارتفاع أو اتجاه الشاشة المفضّل لدى المستخدم، ولا يتم استخدام وضع "العمودين الجانبيين".
يزيل نظام التشغيل Android 17 خيار إيقاف القيود المؤقتة على تغيير الحجم والاتجاه على الأجهزة ذات الشاشات الكبيرة الذي تم توفيره في نظام التشغيل Android 16.
يقدّم هذا التغيير سلوكًا جديدًا للمنصة. يتّجه نظام التشغيل Android نحو نموذج يُتوقّع فيه أن تتكيّف التطبيقات مع اتجاهات الشاشة وأحجامها ونِسب العرض إلى الارتفاع المختلفة. فالقيود، مثل الاتجاه الثابت أو إمكانية تغيير الحجم المحدودة، تعيق إمكانية تكيّف التطبيق. اجعل تطبيقك قابلاً للتكيّف لتقديم أفضل تجربة ممكنة للمستخدمين.
يمكنك أيضًا اختبار هذا السلوك باستخدام اختبار توافق التطبيقات
وتفعيل علامة التوافق UNIVERSAL_RESIZABLE_BY_DEFAULT.
التغييرات الشائعة التي قد تؤدي إلى أعطال
قد يؤدي تجاهل القيود المتعلقة بالاتجاه وإمكانية تغيير الحجم ونسبة العرض إلى الارتفاع إلى التأثير في واجهة المستخدم لتطبيقك على بعض الأجهزة، خاصةً العناصر المصمَّمة للتنسيقات الصغيرة التي لا يمكن تغيير اتجاهها إلى الوضع الأفقي. على سبيل المثال، قد تواجه التطبيقات مشاكل مثل تخطيطات ممتدة وحركات ومكوّنات خارج الشاشة. يمكن أن تتسبّب أي افتراضات تتخذها بشأن نسبة العرض إلى الارتفاع أو اتجاه الشاشة في حدوث مشاكل مرئية في تطبيقك. مزيد من المعلومات حول كيفية تجنُّب هذه المشاكل وتحسين السلوك التكيّفي لتطبيقك
من المشاكل الشائعة في الأجهزة القابلة للطي في الوضع الأفقي أو عند احتساب نسب العرض إلى الارتفاع في سيناريوهات مثل النوافذ المتعددة أو عرض النوافذ على أجهزة الكمبيوتر أو الشاشات المتصلة، ظهور معاينة الكاميرا بشكل ممدود أو مائل أو مقصوص. تحدث هذه المشكلة غالبًا على الأجهزة ذات الشاشات الكبيرة والأجهزة القابلة للطي لأنّ التطبيقات تفترض علاقات ثابتة بين ميزات الكاميرا (مثل نسبة العرض إلى الارتفاع واتجاه أداة الاستشعار) وميزات الجهاز (مثل اتجاه الجهاز والاتجاه الطبيعي). مزيد من المعلومات حول إدارة معاينة الكاميرا
يؤدي السماح بتدوير الجهاز إلى إعادة إنشاء المزيد من الأنشطة، ما قد يؤدي إلى فقدان حالة المستخدم إذا لم يتم الاحتفاظ بها بشكل صحيح. تعرَّف على كيفية حفظ حالة واجهة المستخدم بشكل صحيح في مقالة حفظ حالات واجهة المستخدم.
تفاصيل التنفيذ
يتم تجاهل سمات البيان وواجهات برمجة التطبيقات لوقت التشغيل التالية على الأجهزة ذات الشاشات الكبيرة في وضعَي ملء الشاشة وتعدُّد النوافذ:
screenOrientationresizableActivityminAspectRatiomaxAspectRatiosetRequestedOrientation()getRequestedOrientation()
يتم تجاهل القيم التالية لـ screenOrientation, setRequestedOrientation() وgetRequestedOrientation():
portraitreversePortraitsensorPortraituserPortraitlandscapereverseLandscapesensorLandscapeuserLandscape
في ما يتعلق بإمكانية تغيير حجم شاشة العرض، ليس هناك أي تأثير لـ android:resizeableActivity="false",
android:minAspectRatio وandroid:maxAspectRatio.
الاستثناءات
لا تنطبق قيود الاتجاه وإمكانية تغيير الحجم ونسبة العرض إلى الارتفاع في نظام التشغيل Android 17 في الحالات التالية:
- الألعاب (استنادًا إلى علامة
android:appCategory) - أن يوافق المستخدمون صراحةً على السلوك التلقائي للتطبيق في إعدادات نسبة العرض إلى الارتفاع على الجهاز
- الشاشات التي يقل عرضها عن
sw600dp