با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . در بخش قبلی بعد از آشنایی با resource یا منابع برنامه و معرفی resource های مهم در Android Studio، در پایان بخش به مفهوم qualifier، اشاره شد. که در ادامه ی این مباحث، این بخش به منظور آشنایی با qualifier یا کنترلر های Android Studio ، ارائه شده است.
qualifier ها، برای تعریف خصوصیات مختلف برنامه از جمله اندازه صفحه نمایش، تصاویر و… در دستگاههای مختلف می باشد. به عبارتی با استفاده از qualifier، تعیین می کنیم که مثلا در صفحه نمایش های بزرگ، برنامه از چه تصاویری استفاده نماید.
اندروید از تعریف چندین qualifier داخل یک دایرکتوری پشتیبانی می کند. و شما می توانید qualifierهای مختلف را با خط تیره از هم جدا کنید.
در جدول زیر،qualifier های مربوط به هر پیکر بندی، و کاربرد آنها قرار گرفته است:
پیکربندی | مقادیر qualifier | توصیف |
---|---|---|
MCC and MNC | Examples:mcc310 mcc310-mnc004 mcc208-mnc00 etc. | کدهای سیم کارت تلفن های همراه، در کشورهای مختلف را تعریف می کند. برای مثال کد mcc310 از تلفن آمریکا است. |
Language and region | Examples:en fr en-rUS fr-rFR fr-rCA b+en b+en+US b+es+419 | برای تعریف زبان و موقعیت مکانی استفاده می شود. زبان ها با دو حرف تعریف می شود. مانند en که معرف زبان انگلیسی است. |
Layout Direction | ldrtl ldltr | برای تنظیم جهت گیری طرح برنامه استفاده می شود.
|
smallestWidth | sw<N>dp مثال: | اندازه ی صفحه نمایش دستگاه را تعریف می کند. کمترین اندازه برای کوچکترین دستگاهها، استفاده می شود. |
Available width | w<N>dp Examples: | حداقل عرض صفحه نمایش دستگاه را با مقدار تعریف شده در <N> ، تعریف می کند. |
Available height | h<N>dp Examples: | حداقل ارتفاع صفحه نمایش دستگاه را با مقدار تعریف شده در <N> ، تعریف می کند. |
Screen size | small normal large xlarge | اندازه های از پیش تعریف شده برای تعیین اندازه صفحه نمایش است. |
Screen aspect | long notlong | برای تعیین جهت گیری صفحه نمایش های گسترده، استفاده می شود. long : صفحه نمایش هایی مانند WQVGA, WVGA, FWVGA notlong : صفحه نمایش هایی مانند QVGA, HVGA, and VGA
|
Round screen | round notround | گرد بودن یا گرد نبودن صفحه نمایش ها را تعیین می کند. round : در صفحه نمایش های گرد استفاده می شود. notround : در صفحه نمایش های مستطیل مانند موبایل یا تبلت کاربرد دارد. |
Wide Color Gamut | widecg nowidecg | رنگ بندی صفحه نمایش را تعریف می کند. {code widecg@} : نمایش با طیف گسترده ای از رنگ مانند Display P3 یا AdobeRGB. {code nowidecg@}: نمایش با یک محدوده رنگ باریک مانند sRGB |
High Dynamic Range (HDR) | highdr lowdr | {@code highdr}: نمایش با محدوده با یک دینامیکی. {@code lowdr}: نمایش در یک رنج دینامیکی استاندارد. |
Screen orientation | port land | در جهت گیری عمودی یا افقی صفحه نمایش استفاده می شود. port : صفحه نمایش دستگاه در حالت عمودی نمایش داده می شود. land : صفحه نمایش دستگاه در حالت افقی نمایش داده می شود.
|
UI mode | car desk television appliance watch vrheadset | وضعیت نمایش دستگاه در زمان ورود به بخش های مختلف آن. |
Night mode | night notnight | تغییر حالت برنامه برای زمان روز و شب. night : تایم شب notnight : تایم روز |
(Screen pixel density (dpi | ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi nodpi tvdpi anydpi nnndpi | نسبت تغییرات اندازه یک صفحه نمایش بر حسب پیکسل مانند ۳:۴:۶:۸:۱۲:۱۶
|
Touchscreen type | notouch finger | notouch : دستگاههایی که قابلیت لمسی ندارند. finger : دستگاههای دارای صفحه نمایش لمسی است. |
Keyboard availability | keysexposed keyshidden keyssoft | در صفحه کلیدهای نرم افزاری دستگاههای اندروید، استفاده می شود. keysexposed : دستگاه دارای صفحه کلید است. keyshidden : دستگاه دارای صفحه کلید سخت افزاری است. keyssoft : دستگاه یک صفحه کلید نرم افزاری را فعال است.
|
Primary text input method | nokeys qwerty ۱۲key | nokeys: دستگاه دارای کلیدهای سخت افزار است. qwerty: دستگاه دارای صفحه کلید نوع qwerty است. ۱۲key: دستگاه دارای کیبورد ۱۲ کلیدی است. |
Navigation key availability | navexposed navhidden | navexposed :کلیدهای Navigation برای کاربر در دسترس است. navhidden :کلیدهای Navigation برای کاربر در دسترس نیست. |
Primary non-touch navigation method | nonav dpad trackball wheel | nonav: دستگاه فقط از صفحه نمایش لمسی استفاده می کند. dpad : دستگاه دارای پد directional است. trackball : دستگاه دارای trackball است. wheel : دستگاه دارای ابزار wheel (قلتک) است. |
Platform Version (API level) | Examples:v3 v4 v7 etc. | سطح API پشتیبانی شده توسط دستگاه را تعریف می کند. به عنوان مثال، v1 برای سطح API 1 (دستگاههایی با Android 1.0 یا بالاتر) و v4 برای سطح API 4 (دستگاههایی با Android 1.6 یا بالاتر) |
قونینی که در پیکربندی نام qualifier ها استفاده می شود:
مثال: drawable-en-rUS-land که زبان انگلیسی را در حالت افقی یا عمودی صفحه نمایش، تعریف می کند.
qualifier ها باید به ترتیب ذکر شده در جدول فوق استفاده شود:
حالت اشتباه: drawable-hdpi-port/
حالت درست: drawable-port-hdpi/
دایرکتوری منابع جایگزین نمی تواند توزیع شود، به عنوان مثال حالت زیر اشتباه است:
res/drawable/drawable-en/
برای مثال نمی توان زبان اسپانیا و فرانسه را در یک qualifier مانند drawable-rES-rFR/
، تعریف کرد.
ما در این بخش، برای آشنایی شما با مفهوم qualifier، مباحث آشنایی با qualifier یا کنترلر های Android Studio را ارائه کردیم. امیدواریم که از مباحث فوق بخوبی استفاده کرده باشید.