تعمل تطبيقات Android على جميع أنواع الأجهزة، مثل الهواتف والأجهزة اللوحية والأجهزة القابلة للطي وأجهزة ChromeOS والسيارات وأجهزة التلفزيون وحتى أجهزة XR. وللتكيّف مع هذه البيئة المتنوعة، يجب أن يتوافق تطبيقك مع جميع أشكال الأجهزة وأحجام الشاشات.
يتيح نظام التشغيل Android 16 (المستوى 36 من واجهة برمجة التطبيقات) للتطبيقات التكيّف مع أشكال الأجهزة وأحجام الشاشات المختلفة من خلال تجاهل القيود المفروضة على التطبيقات بشأن اتجاه الشاشة ونسبة العرض إلى الارتفاع وإمكانية تغيير الحجم. تنطبق عمليات الإلغاء على الأجهزة التي يبلغ عرضها الأصغر 600 وحدة بكسل مستقلة الكثافة أو أكثر، ما يحدّد ما يلي:
- الأجهزة اللوحية
- الشاشات الداخلية للأجهزة القابلة للطيّ ذات الشاشات الكبيرة
- العرض في نافذة (على جميع أنواع الأجهزة)
يمكن تغيير حجم التطبيقات التي تستهدف المستوى 36 من واجهة برمجة التطبيقات، كما يمكنها الدخول إلى وضع النوافذ المتعددة (أي ما يعادل resizeableActivity="true"
) إذا كان أصغر عرض للشاشة أكبر من أو يساوي 600 وحدة بكسل مستقلة الكثافة.

يفرض نظام التشغيل Android 16 نموذجًا متسقًا لتصميم التطبيقات المتجاوبة يحسّن تجربة المستخدم من خلال مراعاة إعدادات المستخدم المفضّلة بشأن اتجاه الجهاز ونسبة العرض إلى الارتفاع وحجم الشاشة.
التغييرات
يتم تجاهل سمات البيان وواجهات برمجة التطبيقات التالية في التطبيقات التي تستهدف الإصدار Android 16 (المستوى 36 لواجهة برمجة التطبيقات) على الشاشات الكبيرة:
السمة أو واجهة برمجة التطبيقات | القيم التي تم تجاهلها |
---|---|
screenOrientation |
portrait ، landscape ، reversePortrait ، reverseLandscape ، sensorPortrait ، sensorLandscape ، userPortrait ، userLandscape |
resizeableActivity |
الكل |
minAspectRatio |
الكل |
maxAspectRatio |
الكل |
setRequestedOrientation() getRequestedOrientation() |
portrait ، landscape ، reversePortrait ، reverseLandscape ، sensorPortrait ، sensorLandscape ، userPortrait ، userLandscape |
الاستثناءات
تشمل الاستثناءات من التغييرات في Android 16 ما يلي:
الشاشات الأصغر من sw600dp (معظم الهواتف والهواتف القابلة للطي والشاشات الخارجية للهواتف القابلة للطي ذات الشاشات الكبيرة)
ألعاب مستندة إلى العلم
android:appCategory
انشر لعبتك باستخدام "مجموعة حزمات تطبيق Android" وميزة "توقيع التطبيق" من Play، ما يتيح لـ Google Play إدارة العلامة وتوفير مزايا حِزم التطبيقات تلقائيًا. اطّلِع أيضًا على نظرة عامة على بيان التطبيق.
موافقة المستخدم على السلوك التلقائي للتطبيق في إعدادات نسبة العرض إلى الارتفاع
إيقاف
لإيقاف سلوك مستوى واجهة برمجة التطبيقات 36، يجب الإفصاح عن ملف بيان
PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY
.
لإيقاف ميزة معيّنة، اضبط الموقع في عنصر <activity>
:
<activity ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</activity>
لإيقاف الميزة في تطبيقك بالكامل، اضبط السمة في عنصر <application>
:
<application ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</application>
الاختبارات
لاختبار ما إذا كان تطبيقك سيتأثر بالتغييرات في Android 16، استخدِم محاكيَي سلسلة Pixel Tablet وPixel Fold في Android Studio واضبط targetSdkPreview = "Baklava"
في ملف build.gradle
الخاص بوحدة تطبيقك.
أو استخدِم إطار عمل توافق التطبيقات على أجهزة الاختبار من خلال تفعيل العلامة UNIVERSAL_RESIZABLE_BY_DEFAULT (راجِع أدوات إطار عمل التوافق).
يمكنك إعداد الاختبارات تلقائيًا باستخدام إطار عمل الاختبار Espresso وواجهات برمجة التطبيقات الخاصة بالاختبار في Jetpack Compose.
المشاكل الشائعة
قد تواجه التطبيقات التي تحظر اتجاه الجهاز أو نسبة العرض إلى الارتفاع أو إمكانية تغيير حجم التطبيق مشاكل في العرض على Android 16، مثل تداخل التصميمات.
لتقديم تجربة مثالية للمستخدمين على الهواتف والأجهزة القابلة للطي والأجهزة اللوحية وأجهزة ChromeOS وشاشات السيارات وأجهزة الواقع الممتد، عليك تصميم تطبيقك ليكون متجاوبًا وقابلاً للتكيّف:
تجنُّب مكوّنات واجهة المستخدم الممدودة: من المحتمل ألا تتوافق التصاميم المخصّصة لشاشات الهواتف العادية ذات الوضع العمودي مع نسب العرض إلى الارتفاع الأخرى. على سبيل المثال، ستظهر عناصر واجهة المستخدم التي تملأ عرض الشاشة بالكامل بشكل ممدود في الوضع الأفقي. أضِف حدًا أقصى لعرض المكوّنات لتجنُّب تمديدها.
تفعيل إمكانية التنقّل في التنسيقات: إذا لم يكن من الممكن التنقّل في التنسيقات، قد لا يتمكّن المستخدمون من الوصول إلى الأزرار أو عناصر أخرى في واجهة المستخدم تظهر خارج الشاشة في الوضع الأفقي. فعِّل إمكانية التنقّل في تخطيطات التطبيقات لضمان إمكانية الوصول إلى كل المحتوى بغض النظر عن ارتفاع الشاشة.
ضمان توافق الكاميرا في الوضعَين العمودي والأفقي: يمكن أن تؤدي معاينات عدسة الكاميرا التي تفترض نسبة عرض إلى ارتفاع وتوجيهًا محدّدَين بالنسبة إلى مستشعر الكاميرا إلى معاينات ممدودة أو مقلوبة على الشاشات غير المتوافقة. تأكَّد من تدوير عدسات الكاميرا بشكلٍ سليم عند تغيير اتجاه الشاشة. تفعيل إطارات العرض لتتكيّف مع نسب العرض إلى الارتفاع لواجهة المستخدم التي تختلف عن نسبة العرض إلى الارتفاع لأداة الاستشعار
الاحتفاظ بالحالة أثناء تغييرات حجم النافذة: يمكن أن تؤدي إزالة القيود المفروضة على الاتجاه ونسبة العرض إلى الارتفاع إلى حدوث تغييرات متكررة في حجم نافذة التطبيق استجابةً للطريقة التي يفضّل المستخدمون استخدام التطبيق بها، مثلاً عن طريق تدوير الجهاز أو طيّه أو فتحه، أو عن طريق تغيير حجم التطبيق في وضع النوافذ المتعددة أو وضع النوافذ على سطح المكتب. تتسبّب تغييرات الضبط، مثل تغييرات الاتجاه وتغيير حجم النافذة، في إعادة إنشاء النشاط (تلقائيًا). لضمان توفير تجربة مستخدم مثالية، يجب الحفاظ على حالة التطبيق أثناء تغييرات الإعدادات لكي يحتفظ تطبيقك بالبيانات (مثل بيانات إدخال النماذج) ويتمكّن المستخدمون من الحفاظ على السياق.
استخدام فئات أحجام النوافذ: يمكنك توفير أحجام ونِسب عرض إلى ارتفاع مختلفة للنوافذ بدون إجراء تخصيصات خاصة بالأجهزة. افترِض أنّ أحجام النوافذ ستتغيّر بشكل متكرّر. استخدِم فئات حجم النافذة لتحديد أبعاد النافذة، ثم طبِّق تخطيطًا مناسبًا متكيّفًا.
إنشاء تنسيقات متجاوبة: ضمن فئات أحجام النوافذ، تتكيّف التنسيقات المتجاوبة مع التغييرات في أبعاد الشاشة لإنشاء عرض تقديمي مثالي للتطبيق في جميع الأوقات.
المخطط الزمني
Android 16 (2025): تتوفّر تجربة أساسية على الأجهزة ذات الشاشات الكبيرة (أصغر عرض للشاشة ≥ 600 وحدة بكسل مستقلة الكثافة) لجميع الاتجاهات ونِسب العرض إلى الارتفاع وإمكانية تغيير حجم التطبيقات التي تستهدف المستوى 36 لواجهة برمجة التطبيقات. ومع ذلك، يمكن للمطوّرين إيقاف هذه الميزة.
إصدار Android في 2026: ستكون إمكانية استخدام جميع الاتجاهات ونِسب العرض إلى الارتفاع وإمكانية تغيير حجم التطبيق هي تجربة الاستخدام الأساسية على الأجهزة ذات الشاشات الكبيرة (أصغر عرض للشاشة >= 600 وحدة بكسل مستقلة الكثافة) للتطبيقات التي تستهدف المستوى 37 لواجهة برمجة التطبيقات. ولن يتوفّر للمطوّرين خيار إيقاف هذه الميزة.
مستوى واجهة برمجة التطبيقات المستهدف | الأجهزة التي تنطبق عليها هذه السياسة | يُسمح للمطوّرين بإيقاف الميزة |
---|---|---|
36 (الإصدار 16 من نظام التشغيل Android) | الأجهزة ذات الشاشات الكبيرة (أصغر عرض للشاشة >= 600 وحدة بكسل مستقلة عن الكثافة) | نعم |
37 (متوقّع) | الأجهزة ذات الشاشات الكبيرة (أصغر عرض للشاشة >= 600 وحدة بكسل مستقلة عن الكثافة) | لا |
تختلف المواعيد النهائية لاستهداف مستويات معيّنة من واجهة برمجة التطبيقات حسب متجر التطبيقات. سيشترط Google Play أن تستهدف التطبيقات المستوى 36 لواجهة برمجة التطبيقات اعتبارًا من أغسطس 2026، والمستوى 37 لواجهة برمجة التطبيقات اعتبارًا من أغسطس 2027.
مراجع إضافية
- التغييرات في السلوك: التطبيقات التي تستهدف الإصدار 16 من نظام التشغيل Android أو الإصدارات الأحدث
- إنشاء تطبيقات متكيّفة
- الإجراءات المسموح بها وغير المسموح بها في الإعلانات التكيّفية