يتم تجاهل القيود المفروضة على الاتجاه وإمكانية تغيير الحجم

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

تجاهُل قيود الاتجاه وإمكانية تغيير الحجم ونسبة العرض إلى الارتفاع

بالنسبة إلى التطبيقات التي تستهدف Android 17 (مستوى واجهة برمجة التطبيقات 37) أو الإصدارات الأحدث، لم تعُد قيود الاتجاه وإمكانية تغيير الحجم ونسبة العرض إلى الارتفاع تنطبق على الشاشات التي يزيد عرضها الأصغر عن 600dp. تظهر التطبيقات في نافذة العرض بأكملها، بغض النظر عن نسبة العرض إلى الارتفاع أو الاتجاه المفضّل لدى المستخدم، ولا يتم استخدام وضع "العمودين الجانبيين".

يزيل Android 17 خيار إلغاء الاشتراك المؤقت للمطوّرين في قيود الاتجاه وإمكانية تغيير الحجم على الأجهزة ذات الشاشات الكبيرة الذي تم توفيره في Android 16.

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

يمكنك أيضًا اختبار هذا السلوك باستخدام اختبار توافق التطبيقات وتفعيل علامة التوافق UNIVERSAL_RESIZABLE_BY_DEFAULT.

التغييرات الشائعة التي قد تؤدي إلى عطل

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

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

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

تفاصيل التنفيذ

يتم تجاهُل سمات ملف البيان وواجهات برمجة التطبيقات لوقت التشغيل التالية على الأجهزة ذات الشاشات الكبيرة في وضع ملء الشاشة ووضع النوافذ المتعددة:

يتم تجاهُل القيم التالية لـ screenOrientation, setRequestedOrientation() و getRequestedOrientation():

  • portrait
  • reversePortrait
  • sensorPortrait
  • userPortrait
  • landscape
  • reverseLandscape
  • sensorLandscape
  • userLandscape

في ما يتعلق بإمكانية تغيير حجم الشاشة، ليس لـ android:resizeableActivity="false", android:minAspectRatio و android:maxAspectRatio أي تأثير.

الاستثناءات

لا تنطبق قيود الاتجاه وإمكانية تغيير الحجم ونسبة العرض إلى الارتفاع في Android 17 في الحالات التالية:

  • الألعاب (استنادًا إلى علامة android:appCategory)
  • المستخدمون الذين يوافقون صراحةً على السلوك التلقائي للتطبيق في إعدادات نسبة العرض إلى الارتفاع في الجهاز
  • الشاشات التي يقل عرضها الأصغر عن sw600dp