- بناء الجملة:
-
<supports-screens android:resizeable=["true"| "false"] android:smallScreens=["true" | "false"] android:normalScreens=["true" | "false"] android:largeScreens=["true" | "false"] android:xlargeScreens=["true" | "false"] android:anyDensity=["true" | "false"] android:requiresSmallestWidthDp="integer" android:compatibleWidthLimitDp="integer" android:largestWidthLimitDp="integer"/>
- مضمّنة في:
<manifest>
- description:
يتيح لك تحديد أحجام الشاشات التي يدعمها تطبيقك وتمكين وضع توافق الشاشة للشاشات الأكبر من التي يدعمها تطبيقك. من المهم أن تستخدم هذا العنصر دائمًا في تطبيقك لتحديد أحجام الشاشة التي يدعمها تطبيقك.
ملاحظة: وضع توافق الشاشة ليس وضعًا تريد تشغيل تطبيقك فيه. تتسبب في حدوث تقطيعات وتمويه في واجهة المستخدم بسبب التكبير أو التصغير. الطريقة الصحيحة لجعل تطبيقك يعمل بشكل جيد على الشاشات الكبيرة هي اتّباع نظرة عامة على توافق الشاشة وتوفير تنسيقات بديلة لأحجام الشاشات المختلفة.
"يدعم" التطبيق حجم شاشة معين إذا تم تغيير حجمه بشكل صحيح لملء الشاشة بأكملها. إن تغيير الحجم العادي الذي يطبقه النظام يعمل بشكل جيد مع معظم التطبيقات، ولن تحتاج إلى القيام بأي عمل إضافي لجعل التطبيق يعمل على شاشات أكبر من جهاز الهاتف.
ومع ذلك، من المهم غالبًا تحسين واجهة المستخدم في تطبيقك لتناسب أحجام الشاشات المختلفة من خلال توفير موارد تنسيق بديلة. على سبيل المثال، قد ترغب في تعديل تنسيق أحد الأنشطة عندما يكون على جهاز لوحي مقارنةً بتشغيله على جهاز هاتف محمول.
ومع ذلك، إذا لم يعمل تطبيقك بشكل جيد عند تغيير حجمه ليتناسب مع أحجام الشاشات المختلفة، يمكنك استخدام سمات العنصر
<supports-screens>
لتحديد ما إذا كان سيتم توزيع التطبيق على الشاشات الأصغر حجمًا أو إذا أردت تكبير حجم واجهة المستخدم أو "تكبيره" ليتناسب مع الشاشات الأكبر حجمًا باستخدام وضع التوافق مع الشاشة في النظام.إذا لم تصمم لأحجام شاشات أكبر ولم تحقق عملية تغيير الحجم العادية النتائج المناسبة، فسيعمل وضع توافق الشاشة على ضبط واجهة المستخدم عن طريق محاكاة شاشة ذات حجم عادي وكثافة متوسطة. ثم يكبّر حتى يملأ الشاشة بأكملها. انتبه إلى أن هذا يؤدي إلى تقطيع وتمويه واجهة المستخدم، لذا من الأفضل أن تقوم بتحسين واجهة المستخدم للشاشات الكبيرة.
ملاحظة: قدم Android 3.2 سمات جديدة:
android:requiresSmallestWidthDp
وandroid:compatibleWidthLimitDp
وandroid:largestWidthLimitDp
. إذا كنت تطور تطبيقك للإصدار 3.2 من نظام التشغيل Android أو الإصدارات الأحدث، فاستخدم هذه السمات للإعلان عن توافق حجم الشاشة بدلاً من السمات بناءً على أحجام الشاشة العامة.لمحة عن وضع التوافق مع الشاشة
وضع توافق الشاشة هو الملاذ الأخير للتطبيقات غير المصمَّمة بشكل صحيح للاستفادة من أحجام الشاشات الأكبر. لا تريد أن يعمل تطبيقك بهذا الوضع، لأنّه قد يترك انطباعًا سيئًا لدى المستخدم. هناك إصداران من وضع توافق الشاشة استنادًا إلى إصدار الجهاز الذي يتم تشغيل التطبيق عليه.
في إصدارات Android من 1.6 إلى 3.1، يشغّل النظام تطبيقك في نافذة "طوابع بريدية". ويحاكي هذا الوضع شاشة بدقة 320 بكسل × 480 بكسل مستقل الكثافة ذات حدود سوداء تملأ المساحة المتبقية من الشاشة.
في الإصدار 3.2 من نظام التشغيل Android والإصدارات الأحدث، يرسم النظام التنسيق كما هو الحال على الشاشة التي تبلغ دقتها 320 بكسل مستقل الكثافة x 480 بكسل مستقل الكثافة، ثم يضبط حجمه على الشاشة بملء الشاشة. يؤدي هذا غالبًا إلى حدوث تشويش في واجهة المستخدم، مثل التمويه والتقطيع.
للاطّلاع على مزيد من المعلومات حول طريقة التوافق مع أحجام الشاشات المختلفة بشكل سليم كي تتجنّب استخدام وضع توافق الشاشة مع تطبيقك، يمكنك قراءة مقالة نظرة عامة على توافق الشاشة.
- السمات:
-
android:resizeable
- يشير هذا الإعداد إلى ما إذا كان التطبيق قابلاً لتغيير الحجم ليناسب أحجام الشاشات المختلفة. هذه السمة هي
"true"
بشكل تلقائي. في حال ضبط السياسة على"false"
، يشغِّل النظام تطبيقك في وضع توافق الشاشة على الشاشات الكبيرة.تم إيقاف هذه السمة نهائيًا. تم تقديمه للمساعدة في انتقال التطبيقات من Android 1.5 إلى 1.6، عندما تم تقديم الدعم لشاشات متعددة لأول مرة. لا تستخدمها.
android:smallScreens
- تشير إلى ما إذا كان التطبيق يتوافق مع عوامل شكل الشاشة "الصغيرة".
الشاشة الصغيرة هي شاشة ذات نسبة عرض إلى ارتفاع أصغر من الشاشة "العادية"، أو شاشة HVGA التقليدية. هناك تطبيق لا
يتوافق مع الشاشات الصغيرة غير متاح
للأجهزة ذات الشاشات الصغيرة من خدمات خارجية، مثل Google Play، لأنّه ليس بإمكان النظام الأساسي تنفيذ هذا
التطبيق على الشاشة الأصغر حجمًا. هذه القيمة هي
"true"
تلقائيًا. android:normalScreens
- تشير إلى ما إذا كان التطبيق يتوافق مع عوامل شكل الشاشة "العادية". في العادة، تُعتبر هذه الشاشة متوسطة الكثافة لشاشة HVGA، لكنّ WQVGA منخفض الكثافة وشاشة WVGA عالية الكثافة تُعتبر أيضًا شاشة عادية أيضًا. هذه السمة هي
"true"
تلقائيًا. android:largeScreens
- تشير إلى ما إذا كان التطبيق يتوافق مع عوامل شكل الشاشة "الكبيرة".
الشاشة الكبيرة هي شاشة أكبر بكثير من شاشة الهاتف "العادية". وبالتالي قد يتطلب الأمر بعض العناية الخاصة من جانب التطبيق للاستفادة منه بشكل جيد، على الرغم من أنه قد يعتمد على تغيير الحجم من خلال النظام لملء الشاشة.
تختلف القيمة التلقائية لهذه السمة بين بعض الإصدارات، لذا من الأفضل أن أعلنت بوضوح عن هذه السمة. ويجب الانتباه إلى أنّ ضبطه على
"false"
يؤدي بشكل عام إلى تفعيل وضع التوافق مع الشاشة. android:xlargeScreens
- تشير إلى ما إذا كان التطبيق يتوافق مع عوامل نماذج الشاشة "الكبيرة جدًا".
الشاشة الكبيرة جدًا هي شاشة أكبر بكثير من الشاشة "الكبيرة"، مثل شاشة جهاز لوحي أو جهاز أكبر حجمًا. وقد يتطلب الأمر عناية خاصة من جانب التطبيق للاستفادة منه بشكل جيد، على الرغم من أنه قد يعتمد على تغيير الحجم من قِبل النظام لملء الشاشة.
تختلف القيمة التلقائية لهذه السمة بين بعض الإصدارات، لذا من الأفضل أن أعلنت بوضوح عن هذه السمة. ويجب الانتباه إلى أنّ ضبطه على
"false"
يؤدي بشكل عام إلى تفعيل وضع التوافق مع الشاشة.تم تقديم هذه السمة في المستوى 9 من واجهة برمجة التطبيقات.
android:anyDensity
- يشير هذا الإعداد إلى ما إذا كان التطبيق يتضمّن موارد لتلائم أي كثافة شاشة.
بالنسبة إلى التطبيقات التي تتوافق مع Android 1.6 (المستوى 4 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يتم استخدام
"true"
تلقائيًا. لا تضبطه على"false"
إلا إذا كنت متأكدًا تمامًا من أنه ضروري لعمل التطبيق. قد يكون من الضروري فقط تعطيل هذا إذا كان التطبيق يعالج الصور النقطية بشكل مباشر. لمزيد من المعلومات، يُرجى الاطِّلاع على نظرة عامة على توافق الشاشة. android:requiresSmallestWidthDp
- يحدد هذا الإعداد الحد الأدنى من
smallestWidth
المطلوب للتطبيق.smallestWidth
هو أقصر بُعد في مساحة الشاشة، في وحداتdp
، والتي يجب أن تكون متاحة لواجهة مستخدم التطبيق. أي أنها أقصر بين بُعدين للشاشة المتاحة.حتى يتم اعتبار الجهاز متوافقًا مع تطبيقك، يجب أن تكون قيمة
smallestWidth
للجهاز مساوية لهذه القيمة أو أكبر منها. عادةً ما تكون القيمة التي تقدمها لهذا هي "أصغر عرض" يدعمه التخطيط الخاص بك، بغض النظر عن اتجاه الشاشة الحالي.على سبيل المثال، تبلغ نسبة
smallestWidth
من 320 بكسل مستقل الكثافة في شاشة الهاتف المحمول النموذجية، بينما يبلغ دقةsmallestWidth
في الجهاز اللوحي مقاس 7 بوصة، 600 بكسل مستقل الكثافة، والجهاز اللوحي 10 بوصات يبلغsmallestWidth
720 بكسل مستقل الكثافة. وهذه القيم هي بصفة عامةsmallestWidth
لأنّها أقصر بُعد في المساحة المتاحة للشاشة.يأخذ الحجم الذي تتم مقارنة القيمة به في الاعتبار زخارف الشاشة وواجهة مستخدم النظام. على سبيل المثال، إذا كان الجهاز يحتوي على بعض العناصر الدائمة في واجهة المستخدم على الشاشة، يُعلن النظام أن قيمة
smallestWidth
على الجهاز أصغر من حجم الشاشة الفعلي، لأنّ هذه وحدات بكسل الشاشة غير متاحة لواجهة المستخدم.إذا تم تغيير حجم التطبيق بشكل صحيح ليتناسب مع أحجام الشاشة الأصغر، لن تحتاج إلى استخدام هذه السمة، سواء اخترت الحجم "الصغير" أو الحد الأدنى للعرض وهو 320 بكسل مستقل الكثافة. وبخلاف ذلك، استخدِم قيمة لهذه السمة تتطابق مع أصغر قيمة يستخدمها تطبيقك مع مؤهِّل عرض الشاشة الأصغر (
sw<N>dp
).تنبيه: لا يهتم نظام Android بهذه السمة، لذلك لا تؤثر في طريقة عمل تطبيقك في وقت التشغيل. بل يتم استخدامه بدلاً من ذلك لتفعيل الفلترة في تطبيقك على خدمات مثل Google Play. مع ذلك، لا يتيح Google Play حاليًا استخدام هذه السمة للفلترة على الإصدار 3.2 من نظام التشغيل Android، لذا يمكنك مواصلة استخدام سمات الحجم الأخرى إذا كان تطبيقك لا يتوافق مع الشاشات الصغيرة.
تم تقديم هذه السمة في المستوى 13 من واجهة برمجة التطبيقات.
android:compatibleWidthLimitDp
- تتيح لك هذه السمة تفعيل وضع توافق الشاشة
كميزة اختيارية للمستخدم، وذلك من خلال تحديد الحد الأقصى "لأصغر عرض للشاشة" الذي تم تصميم
تطبيقك من أجله. إذا كان أصغر جانب من الشاشة المتاحة للجهاز أكبر من القيمة هنا،
لا يزال بإمكان المستخدمين تثبيت التطبيق ولكن يُسمح لهم بتشغيله في وضع توافق الشاشة.
يكون وضع التوافق غير مفعّل تلقائيًا، ويتم تغيير حجم التنسيق ليلائم الشاشة كالمعتاد. يتوفر زر في شريط النظام يتيح للمستخدم التبديل بين وضع توافق الشاشة.
إذا كان تطبيقك متوافقًا مع جميع أحجام الشاشات وتم تغيير حجم تخطيطه بشكل صحيح، فلن تحتاج إلى استخدام هذه السمة.
ملاحظة: في الوقت الحالي، يحاكي وضع توافق الشاشة شاشات الهاتف المحمول التي يكون عرضها 320 بكسل مستقل الكثافة فقط، لذلك لا يتم تطبيق وضع توافق الشاشة إذا كانت قيمة
android:compatibleWidthLimitDp
أكبر من320
.تم تقديم هذه السمة في المستوى 13 من واجهة برمجة التطبيقات.
android:largestWidthLimitDp
- تتيح لك هذه السمة فرض تفعيل وضع توافق الشاشة من خلال تحديد
الحد الأقصى لـ "أصغر عرض للشاشة" الذي تم تصميم تطبيقك من أجله. إذا كان أصغر جانب من شاشة الجهاز المتاحة أكبر من القيمة الموجودة هنا، يتم تشغيل التطبيق في وضع توافق الشاشة، ولا يمكن للمستخدم إيقافه.
إذا كان تطبيقك متوافقًا مع جميع أحجام الشاشات وتم تغيير حجم تخطيطه بشكل صحيح، فلن تحتاج إلى استخدام هذه السمة. وإذا لم تكن كذلك، يمكنك أولاً استخدام السمة
android:compatibleWidthLimitDp
. لا تستخدم السمةandroid:largestWidthLimitDp
إلا عندما يكون تطبيقك معطّلاً وظيفيًا عند تغيير حجمه ليتوافق مع الشاشات الأكبر حجمًا، وعندما يكون وضع التوافق مع الشاشة هو الطريقة الوحيدة التي يمكن استخدام تطبيقك بها.ملاحظة: في الوقت الحالي، يحاكي وضع توافق الشاشة شاشات الهاتف المحمول التي يكون عرضها 320 بكسل مستقل الكثافة فقط، لذلك لا يتم تطبيق وضع توافق الشاشة إذا كانت قيمة
android:largestWidthLimitDp
أكبر من320
.تم تقديم هذه السمة في المستوى 13 من واجهة برمجة التطبيقات.
- تم تقديمه في:
- المستوى 4 لواجهة برمجة التطبيقات
- راجِع أيضًا:
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2023-12-01 (حسب التوقيت العالمي المتفَّق عليه)
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"لا يحتوي على المعلومات التي أحتاج إليها."
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"الخطوات معقدة للغاية / كثيرة جدًا."
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"المحتوى قديم."
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"ثمة مشكلة في الترجمة."
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"مشكلة في العيّنات / التعليمات البرمجية"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"غير ذلك"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"يسهُل فهم المحتوى."
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"ساعَدني المحتوى في حلّ مشكلتي."
},{
"type": "thumb-up",
"id": "otherUp",
"label":"غير ذلك"
}]
{
"last_modified": "تاريخ التعديل الأخير: 2023-12-01 (حسب التوقيت العالمي المتفَّق عليه)",
"state": ""
}