<پشتیبانی-صفحه نمایش>

نحو:
<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>
توضیحات:

به شما امکان می‌دهد اندازه‌های صفحه‌ای را که برنامه شما پشتیبانی می‌کند مشخص کنید و حالت سازگاری صفحه را برای صفحه‌های بزرگتر از آنچه برنامه شما پشتیبانی می‌کند فعال کنید. مهم است که همیشه از این عنصر در برنامه خود برای تعیین اندازه صفحه نمایش مورد پشتیبانی برنامه خود استفاده کنید.

توجه: حالت سازگاری صفحه حالتی نیست که بخواهید برنامه شما در آن اجرا شود. به دلیل بزرگنمایی باعث ایجاد پیکسل و تار شدن در رابط کاربری شما می شود. راه مناسب برای اینکه برنامه شما روی صفحه نمایش های بزرگ به خوبی کار کند، پیروی از نمای کلی سازگاری صفحه و ارائه طرح بندی های جایگزین برای اندازه های مختلف صفحه نمایش است.

یک برنامه در صورتی که اندازه صفحه نمایش را به درستی تغییر اندازه دهد تا کل صفحه را پر کند، از یک اندازه صفحه نمایش داده شده پشتیبانی می کند. تغییر اندازه معمولی اعمال شده توسط سیستم برای اکثر برنامه ها به خوبی کار می کند، و برای اینکه برنامه خود روی صفحه نمایش های بزرگتر از یک دستگاه گوشی کار کند، نیازی به انجام کار اضافی ندارید.

با این حال، اغلب مهم است که با ارائه منابع طرح‌بندی جایگزین، رابط کاربری برنامه خود را برای اندازه‌های مختلف صفحه بهینه کنید. به عنوان مثال، ممکن است بخواهید طرح‌بندی یک فعالیت را زمانی که روی رایانه لوحی است در مقایسه با زمانی که روی یک دستگاه گوشی اجرا می‌شود، تغییر دهید.

با این حال، اگر برنامه شما هنگام تغییر اندازه برای اندازه‌های مختلف صفحه نمایش خوب کار نمی‌کند، می‌توانید از ویژگی‌های عنصر <supports-screens> برای کنترل اینکه آیا برنامه شما فقط در صفحه‌های کوچک‌تر توزیع می‌شود یا رابط کاربری آن بزرگ‌تر شده است یا خیر، استفاده کنید. "بزرگنمایی شده" برای جا دادن صفحه های بزرگتر با استفاده از حالت سازگاری صفحه نمایش سیستم.

اگر برای اندازه‌های بزرگتر صفحه‌نمایش طراحی نمی‌کنید و تغییر اندازه معمولی نتایج مناسب را به دست نمی‌آورد، حالت سازگاری صفحه با شبیه‌سازی صفحه نمایش با اندازه معمولی و تراکم متوسط، رابط کاربری شما را مقیاس‌بندی می‌کند. سپس بزرگنمایی می کند تا کل صفحه را پر کند. توجه داشته باشید که این باعث پیکسل شدن و تار شدن رابط کاربری شما می شود، بنابراین بهتر است رابط کاربری خود را برای صفحه نمایش های بزرگ بهینه کنید.

توجه: Android 3.2 ویژگی‌های جدیدی را معرفی کرد: android:requiresSmallestWidthDp ، android:compatibleWidthLimitDp و android:largestWidthLimitDp . اگر برنامه خود را برای Android 3.2 و بالاتر توسعه می‌دهید، از این ویژگی‌ها برای اعلام پشتیبانی از اندازه صفحه‌نمایش خود به جای ویژگی‌های مبتنی بر اندازه‌های صفحه نمایش تعمیم‌یافته استفاده کنید.

درباره حالت سازگاری صفحه نمایش

حالت سازگاری صفحه آخرین راه حل برای برنامه هایی است که به درستی برای استفاده از اندازه صفحه نمایش بزرگتر طراحی نشده اند. این حالتی نیست که بخواهید برنامه شما در آن اجرا شود، زیرا می تواند تجربه کاربری ضعیفی را ارائه دهد. دو نسخه از حالت سازگاری صفحه نمایش بر اساس نسخه دستگاهی که برنامه روی آن اجرا می شود وجود دارد.

در نسخه های اندروید 1.6 تا 3.1، سیستم برنامه شما را در یک پنجره "تمبر پستی" اجرا می کند. این صفحه نمایش 320dp x 480dp با حاشیه مشکی که قسمت باقیمانده صفحه را پر می کند شبیه سازی می کند.

در اندروید 3.2 و بالاتر، سیستم طرح‌بندی را مانند صفحه‌نمایش 320dp x 480dp ترسیم می‌کند، سپس آن را بزرگ می‌کند تا صفحه را پر کند. این اغلب باعث ایجاد مصنوعاتی مانند تار شدن و پیکسل شدن در رابط کاربری شما می شود.

برای اطلاعات بیشتر در مورد نحوه پشتیبانی صحیح از اندازه های مختلف صفحه نمایش به طوری که بتوانید از حالت سازگاری صفحه با برنامه خود استفاده نکنید، نمای کلی سازگاری صفحه را بخوانید.

صفات:
android:resizeable
نشان می دهد که آیا برنامه برای اندازه های مختلف صفحه نمایش قابل تغییر است یا خیر. این ویژگی به طور پیش فرض "true" است. اگر روی "false" تنظیم شود، سیستم برنامه شما را در حالت سازگاری با صفحه نمایش روی صفحه نمایش های بزرگ اجرا می کند.

این ویژگی منسوخ شده است . زمانی که پشتیبانی از چند صفحه نمایش برای اولین بار معرفی شد، برای کمک به انتقال برنامه ها از اندروید 1.5 به 1.6 معرفی شد. از آن استفاده نکنید.

android:smallScreens
نشان می دهد که آیا برنامه از فرم فاکتورهای صفحه نمایش "کوچک" پشتیبانی می کند یا خیر. یک صفحه نمایش کوچک به عنوان صفحه ای با نسبت ابعاد کوچکتر از صفحه نمایش "عادی" یا صفحه نمایش سنتی HVGA تعریف می شود. برنامه‌ای که از صفحه‌نمایش‌های کوچک پشتیبانی نمی‌کند، برای دستگاه‌های صفحه‌نمایش کوچک از سرویس‌های خارجی، مانند Google Play، در دسترس نیست ، زیرا پلتفرم کاری نمی‌تواند انجام دهد تا چنین برنامه‌ای روی صفحه‌نمایش کوچک‌تر کار کند. این به طور پیش فرض "true" است.
android:normalScreens
نشان می دهد که آیا یک برنامه از فرم فاکتورهای صفحه نمایش "عادی" پشتیبانی می کند یا خیر. به طور سنتی این صفحه نمایش با چگالی متوسط ​​HVGA است، اما چگالی کم WQVGA و چگالی بالا WVGA نیز عادی در نظر گرفته می شوند. این ویژگی به طور پیش فرض "true" است.
android:largeScreens
نشان می دهد که آیا برنامه از فرم فاکتورهای صفحه نمایش "بزرگ" پشتیبانی می کند یا خیر. صفحه نمایش بزرگ به صفحه نمایشی گفته می شود که به طور قابل توجهی بزرگتر از صفحه نمایش گوشی "عادی" باشد. بنابراین ممکن است برای استفاده خوب از آن به مراقبت خاصی از جانب برنامه نیاز داشته باشد، اگرچه ممکن است برای پر کردن صفحه به تغییر اندازه توسط سیستم متکی باشد.

مقدار پیش‌فرض برای این مورد بین برخی از نسخه‌ها متفاوت است، بنابراین بهتر است این ویژگی را صریحاً اعلام کنید. مراقب باشید که تنظیم آن بر روی "false" به طور کلی حالت سازگاری صفحه را فعال می کند.

android:xlargeScreens
نشان می دهد که آیا برنامه از فرم فاکتورهای صفحه نمایش "بسیار بزرگ" پشتیبانی می کند یا خیر. صفحه نمایش فوق العاده بزرگ به صفحه ای گفته می شود که به طور قابل توجهی بزرگتر از یک صفحه نمایش "بزرگ" است، مانند یک تبلت یا چیزی حتی بزرگتر. ممکن است نیاز به مراقبت ویژه از جانب برنامه برای استفاده خوب از آن داشته باشد، اگرچه ممکن است برای پر کردن صفحه به تغییر اندازه توسط سیستم متکی باشد.

مقدار پیش‌فرض برای این مورد بین برخی از نسخه‌ها متفاوت است، بنابراین بهتر است این ویژگی را صریحاً اعلام کنید. مراقب باشید که تنظیم آن بر روی "false" به طور کلی حالت سازگاری صفحه را فعال می کند.

این ویژگی در سطح 9 API معرفی شد.

android:anyDensity
نشان می دهد که آیا برنامه دارای منابعی برای تطبیق با هر تراکم صفحه است یا خیر.

برای برنامه‌هایی که از Android 1.6 (سطح API 4) و بالاتر پشتیبانی می‌کنند، این به طور پیش‌فرض "true" است. آن را روی "false" تنظیم نکنید ، مگر اینکه کاملاً مطمئن باشید که برای کارکرد برنامه شما ضروری است. تنها زمانی که ممکن است لازم باشد این را غیرفعال کنید این است که برنامه شما مستقیماً نقشه های بیت را دستکاری کند. برای اطلاعات بیشتر، به نمای کلی سازگاری صفحه مراجعه کنید.

android:requiresSmallestWidthDp
حداقل smallestWidth مورد نیاز برای برنامه را مشخص می کند. smallestWidth ، کوتاهترین بعد فضای صفحه نمایش، بر حسب واحدهای dp است که باید برای رابط کاربری برنامه شما در دسترس باشد. یعنی کوتاه ترین دو بعد صفحه نمایش موجود است.

برای اینکه دستگاهی با برنامه شما سازگار در نظر گرفته شود، smallestWidth دستگاه باید برابر یا بیشتر از این مقدار باشد. معمولاً، مقداری که برای آن ارائه می‌کنید «کوچک‌ترین عرض» است که طرح‌بندی شما بدون توجه به جهت فعلی صفحه نمایش پشتیبانی می‌کند.

به عنوان مثال، یک صفحه نمایش گوشی معمولی دارای smallestWidth 320dp، یک تبلت 7 اینچی دارای smallestWidth 600dp و یک تبلت 10 اینچی دارای smallestWidth 720dp است. این مقادیر معمولاً smallestWidth هستند زیرا کوتاهترین بعد فضای موجود صفحه نمایش هستند.

اندازه ای که ارزش شما با آن مقایسه می شود، تزئینات صفحه و رابط کاربری سیستم را در نظر می گیرد. به عنوان مثال، اگر دستگاه دارای برخی از عناصر رابط کاربری دائمی بر روی صفحه نمایش باشد، سیستم smallestWidth دستگاه را کوچکتر از اندازه واقعی صفحه نمایش اعلام می کند، زیرا اینها پیکسل های صفحه نمایش هستند که برای رابط کاربری شما در دسترس نیستند.

اگر اندازه برنامه شما برای اندازه های کوچکتر صفحه نمایش به اندازه "کوچک" یا حداقل عرض 320dp به درستی تغییر اندازه می دهد، نیازی به استفاده از این ویژگی ندارید. در غیر این صورت، از مقداری برای این ویژگی استفاده کنید که با کوچکترین مقدار استفاده شده توسط برنامه شما برای کوچکترین واجد شرایط عرض صفحه ( sw<N>dp ) مطابقت داشته باشد.

احتیاط: سیستم اندروید به این ویژگی توجه نمی کند، بنابراین بر نحوه عملکرد برنامه شما در زمان اجرا تأثیری نمی گذارد. در عوض، برای فعال کردن فیلتر کردن برنامه شما در سرویس هایی مانند Google Play استفاده می شود. با این حال، Google Play در حال حاضر از این ویژگی برای فیلتر کردن در اندروید 3.2 پشتیبانی نمی کند، بنابراین اگر برنامه شما از صفحه نمایش کوچک پشتیبانی نمی کند، از سایر ویژگی های اندازه استفاده کنید.

این ویژگی در سطح API 13 معرفی شد.

android:compatibleWidthLimitDp
این ویژگی به شما امکان می دهد حالت سازگاری صفحه را به عنوان یک ویژگی اختیاری کاربر با تعیین حداکثر "کوچکترین عرض صفحه" که برنامه شما برای آن طراحی شده است، فعال کنید. اگر کوچکترین ضلع صفحه نمایش موجود دستگاه بیشتر از مقدار شما در اینجا باشد، کاربران همچنان می توانند برنامه شما را نصب کنند اما به آنها پیشنهاد می شود که آن را در حالت سازگاری با صفحه نمایش اجرا کنند.

به‌طور پیش‌فرض، حالت سازگاری صفحه غیرفعال است و اندازه طرح‌بندی شما مطابق معمول با صفحه نمایش تغییر می‌کند. دکمه ای در نوار سیستم موجود است که به کاربر امکان می دهد حالت سازگاری صفحه را تغییر دهد.

اگر برنامه شما با تمام اندازه های صفحه سازگار است و اندازه طرح بندی آن به درستی تغییر می کند، نیازی به استفاده از این ویژگی ندارید.

توجه: در حال حاضر، حالت سازگاری صفحه‌نمایش فقط صفحه‌های گوشی با عرض 320dp را شبیه‌سازی می‌کند، بنابراین اگر مقدار شما برای android:compatibleWidthLimitDp بزرگتر از 320 باشد، حالت سازگاری صفحه اعمال نمی‌شود.

این ویژگی در سطح API 13 معرفی شد.

android:largestWidthLimitDp
این ویژگی به شما امکان می دهد با تعیین حداکثر "کوچکترین عرض صفحه" که برنامه شما برای آن طراحی شده است، حالت سازگاری صفحه را فعال کنید. اگر کوچکترین ضلع صفحه نمایش موجود دستگاه بزرگتر از مقدار شما در اینجا باشد، برنامه در حالت سازگاری با صفحه اجرا می شود و کاربر راهی برای غیرفعال کردن آن ندارد.

اگر برنامه شما با تمام اندازه های صفحه سازگار است و اندازه طرح بندی آن به درستی تغییر می کند، نیازی به استفاده از این ویژگی ندارید. در غیر این صورت، ابتدا از ویژگی android:compatibleWidthLimitDp استفاده کنید. از ویژگی android:largestWidthLimitDp فقط زمانی استفاده کنید که برنامه شما در صورت تغییر اندازه برای نمایشگرهای بزرگتر از نظر عملکردی خراب است و حالت سازگاری صفحه تنها راهی است که می توان از برنامه شما استفاده کرد.

توجه: در حال حاضر، حالت سازگاری صفحه‌نمایش فقط صفحه‌های گوشی با عرض 320dp را شبیه‌سازی می‌کند، بنابراین اگر مقدار شما برای android:largestWidthLimitDp بزرگتر از 320 باشد، حالت سازگاری صفحه اعمال نمی‌شود.

این ویژگی در سطح API 13 معرفی شد.

معرفی شده در:
API سطح 4
همچنین ببینید: