Android 适配时用到的限定词

国际化

对应语言 限定符
中文(中国) zh-rCN
中文(台湾) zh-rTW
中文(香港) zh-rHK
英语(美国) en-rUS
英语(英国) en-rGB
英文(澳大利亚) en-rAU
英文(加拿大) en-rCA
英文(爱尔兰) en-rIE
英文(印度) en-rIN
英文(新西兰) en-rNZ
英文(新加坡) en-rSG
英文(南非) en-rZA
阿拉伯文(埃及) ar-rEG
阿拉伯文(以色列) ar-rIL
保加利亚文: bg-rBG
加泰罗尼亚文 ca-rES
捷克文 cs-rCZ
丹麦文 da-rDK
德文(奥地利) de-rAT
德文(瑞士) de-rCH
德文(德国) de-rDE
德文(列支敦士登) de-rLI
希腊文 el-rGR
西班牙文(西班牙) es-rES
西班牙文(美国) es-rUS
芬兰文(芬兰) fi-rFI
法文(比利时) fr-rBE
法文(加拿大) fr-rCA
法文(瑞士) fr-rCH
法文(法国) fr-rFR
希伯来文 iw-rIL
印地文 hi-rIN
克罗里亚文 hr-rHR
匈牙利文 hu-rHU
印度尼西亚文 in-rID
意大利文(瑞士) it-rCH
意大利文(意大利) it-rIT
日文 ja-rJP
韩文 ko-rKR
立陶宛文 valueslt-rLT
拉脱维亚文 lv-rLV
挪威博克马尔文 nb-rNO
荷兰文(比利时) nl-BE
荷兰文(荷兰) nl-rNL
波兰文 pl-rPL
葡萄牙文(巴西) pt-rBR
葡萄牙文(葡萄牙) pt-rPT
罗马尼亚文 ro-rRO
俄文 ru-rRU
斯洛伐克文 sk-rSK
斯洛文尼亚文 sl-rSI
塞尔维亚文 sr-rRS
瑞典文 sv-rSE
泰文 th-rTH
塔加洛语 tl-rPH
土耳其文 -r-rTR
乌克兰文 uk-rUA
越南文 vi-rVN

语言国际化:

语言是用两个字母的ISO 639-1语言代码定义的,紧跟其后的是可选的两个ISO-3166-1-appha-2地区代码字母(前面是小写的“r”)。
这个编码不区分大小写,r前缀被用于区分地区部分,不能够单独指定地区。
如果用户改变了系统中的语言设置,那么在应用程序的运行期间也能够改变为对应的语言。

宽高限定

最小宽度 sw< N >dp

屏幕的基本尺寸,是指最短的可用屏幕区域。具体的说,设备的最小宽度是屏幕可用的宽度和高度中最短的那个(也可以把它看做是屏幕的最小可能的宽度)。这样就可以使用这个限定符来确保应用程序至少有dp的宽度可用于UI界面,而不管屏幕的当前方向。

可以使用的通用屏幕尺寸的一些值

  1. 320,针对以下设备:

    1. 240x320ldpi(QVGA手持设备)
    2. 320x480mdpi(手持设备)
    3. 480x800hdpi(高分辨率手持设备
  2. 480: 针对480x800mdpi的屏幕(平板或手持设备)
  3. 600,针对600x1024mdip的屏幕(7英寸平板)
  4. 720,针对720x1280mdip的屏幕(10英寸平板)

当应用程序提供了多个带有不同值的最小宽度限定符资源目录时,系统会使用最接近(不超出)设备最小宽度的那个资源。
这个限定符被添加在API级别13中。
还要看android:requiresSmallestWidthDp属性,它声明了与你的应用程序兼容的最小的最小宽度,并且smallestScreenWidthDp配置字段会持有这个设备最小宽度的值。

EG:
如果布局在任何时候都需要至少600dp的最小屏幕尺寸,那么就能够使用这个限定符,在res/layout-sw600dp/目录中创建布局资源。系统只会在可用屏幕的尺寸至少是600dp的时候才会使用这些资源,而不管600dp是否是被用户认知的高度或宽度。最小宽度是设备的固定屏幕尺寸特征,当屏幕的方向发生改变时,设备的最小宽度不改变。

Notice
设备的最小宽度需要考虑屏幕的装饰和系统UI的占用。例如,如果设备有一些固定的UI元素要沿着最小宽度的轴向,占用一定的屏幕空间,那么系统声明的最小宽度要比实际的屏幕尺寸要小,因为被系统占用的像素部分对用户应用程序的UI无效。因此,这个值应该是应用程序布局所需要的最小的实际尺寸(通常,这个值是布局支持的最小宽度,而不管屏幕的当前方向)。

可用宽度 w< N >dp
  • 指定最小的可用屏幕宽度,在资源中应该以dp为单位来定义的值。当方向在横向和纵向之间改变时,这个配置值会跟当前的实际的宽度相匹配。
    当应用程序给这个配置提供了多个不同值的资源目录时,系统会使用最接近(不超过)设备当前屏幕宽度的那个配置。这个值需要考虑屏幕装饰占据的空间,因此,如果设备在显示的左边或右边有一些固定的UI元素,那么使用的宽度值就要比实际的屏幕尺寸小,因为这些固定UI元素的占用,使得应用程序的可用空间减少。
  • 这个特性被添加在API级别13中
  • 还要看screenWidthDp配置字段,它持有当前的屏幕宽度。
可用高度 h< N >dp
  • 指定最小的可用屏幕高度,在资源中应该以dp为单位来定义的值,当方向在横向和纵向直接改变时,这个配置值应该跟当前的实际高度匹配。
    当应用程序给这个配置提供了不同值的多个资源目录时,系统会使用最接近(不超过)设备当前屏幕高度的那个配置。这个要考虑屏幕装饰的占用情况,因此,如果设备在显示的上方或底部有一些固定的UI元素,那么要使用的高度值要比实际的屏幕尺寸小,因为这些固定UI元素的占用,使得应用程序的可用空间减少。不固定的屏幕装饰(如电话的状态栏能够在全屏时被隐藏)是不考虑的,像标题栏或操作栏这样的窗口装饰也不考虑,因此应用必须准备处理比它们指定的空间要小的情况。
  • 这个限定符被添加在API级别13中。
  • 还要看screenHeightDp配置字段,它持有当前屏幕的高度

屏幕尺寸限定

限定符 含义
small 这种屏类似低分辨率的QVGA屏幕。对于小屏的最小布局尺寸大约是320x426dp。例如QVGA低分辨率和VGA高分辨率
normal 这种屏类似中等分辨率的HVGA屏幕。对于普通屏幕的最小布局尺寸大约是320x470dp。如,WQVGA低分辨率屏、HVGA中等分辨率屏、WVGA高分辨率屏。
large 这种屏类似中等分辨率的VGA屏幕,对于大屏幕的最小布局尺寸大约是480x640dp。例如VGA和WVGA的中等分辨率屏
xlarge 这种屏被认为比传统的中等分辨率的HVGA屏幕大。针对xlarge屏的最小布局尺寸大约是720x960dp。在大多数情况下,这种超大屏幕的设备因为太大而要放到背包中来携带,而且最有可能的是平板样式的设备。

Notice
使用尺寸限定符不意味着资源仅用于这个尺寸的屏幕。如果没有用限定符提供与当前设备配置相匹配的可选资源,那么系统会使用与配置最接近的资源。

警告
如果所有使用尺寸限定符的资源都比当前屏幕大,那么系统将不会使用它们,并且应用程序会在运行时崩溃(例如,如果所有的布局都被标记了xlarge限定符,而设备却是一个普通尺寸的屏幕)。

这个限定符被添加在API级别4以后的版本中。

屏幕方向

限定符 含义
port 纵向设备
land 横向设备

如果用户旋转屏幕,这个限定能够在应用运行期间改变

屏幕外观

限定符 含义
long 长屏幕,如WQVGA、WVGA、FWVGA
notlong 非长屏幕,如QVGA、HVGA、VGA

这个限定符被添加在API级别4以后的版本中
这个限定符完全是基于屏幕的外观比率,不相对屏幕的方向。
还要看screenLayout配置字段,它指示了屏幕是否是长屏。

屏幕像素密度(dpi)

mdpi、hdpi、xhdpi、xxhdpi用来修饰drawable文件夹以及values文件夹,用来区分不同像素密度下的图片和dimen值。

名称 像素密度范围
mdpi 120dpi ~ 160dpi
hdpi 160dpi ~ 240dpi
xhdpi 240dpi ~ 320dpi
xxhdpi 320dpi ~ 480dpi
xxxhdpi 480dpi ~ 640dpi

泊位模式

限定符 含义
car 设备停靠在汽车中
desk 设备停靠在书桌中

* 这个限定符被添加在API级别8以后的版本中
* 如果用户改变了设备的停靠地点,那么能够在应用程序的运行期间改变这个限定。可以使用UiModeManager对象来启用或禁止这种模式。

夜间模式

限定符 含义
night 夜间
notnight 白天

* 被添加在API级别8以后的版本中
* 如果夜间模式被保留在自动模式中(默认),那么在应用程序运行期间,会基于白天的时间来进行模式的改变。可以使用UiModeManager对象来启用或禁止这种模式。

触屏类型

限定符 含义
notouch 非触屏设备
stylus 有适用手写笔的电阻屏设备
finger 触屏设备

* touchscreen配置字段,指示到了设备上的触屏类型。

键盘可用性

限定符 含义
keysexposed 设备有可用的键盘。如果设备启用了软键盘,那么即使在硬键盘没有暴露给用户时也可以使用这个限定符。如果没有提供软键盘或者软键盘被禁用,那么只有在硬键盘被暴露给用户时才能够使用这个限定符。
keyshidden 设备有可用的硬键盘,但是被隐藏了,并且设备没有可用的软键盘。
keyssoft 设备有可用的软键盘,不管它是否可见。

* 如果提供了keysexposed资源,但没有keyssoft资源,那么只要系统有可用的软键盘,系统就会使用keysexposed资源而不管键盘是否可见。
* 如果用户打开了硬键盘,就可以在应用程序运行期间改变这个限定。
* hardKeyboardHidden和keyboardHidden配置字段分别指明硬键盘的可见性以及可见的键盘类型(包括软键盘)。

主要文本输入法

限定符 含义
nokeys 设备没有用于文本输入的硬键盘;
qwerty 设备有标准的硬键盘,不管用户是否可见;
12key 设备有12个键的硬键盘,不管用户是否可见。

* keyboard配置字段指明可用的主要文本输入方法。

导航键的有效性

限定符 含义
navexposed 导航键对用户可用
navhidden 导航键不可用

* 如果用户能够看到导航键,那么在应用程序运行时就能够改变这个限定。
* navigationHidden配置字段,指示导航键是否隐藏。

主要的非触屏导航方法

限定符 含义
nonav 除了使用触屏以外,设备没有其他导航设施。
dpad 设备有用于导航的定向板(d-pad)。
trackball 设备有用于导航的轨迹球。
wheel 设备有用于导航的定向滚轮(不常见)。

* navigation配置字段指明可用的导航方法类型。

平台版本(API级别)

EG:V3 V4 V7 等

  • 设备支持的API级别。如v1代表API级别1(带有Android1.0或更高版的设备),v4代表API级别4(带有Android1.6或更高版本的设备)
  • 警告:Android1.5和1.6只有在限定符跟平台版本完全匹配时,才能匹配资源

Android 适配时用到的限定词相关推荐

  1. android ui布局适配,Android适配全面总结(一)----屏幕适配

    前言 Android适配是一个老生常谈的问题,很多程序员觉得很恶心,不愿意做适配,但是又不得不做.然后老板说,这位兄弟,做好了,今天晚饭给你加个鸡腿,然后程序员开始找各种资料,忙活起来了,最终在苦逼的 ...

  2. android底部滑动出现虚拟按键,Android适配底部虚拟按键的方法详解

    Android适配底部虚拟按键的方法详解 发布时间:2020-10-09 05:26:12 来源:脚本之家 阅读:171 作者:yuanzhihui123 最近项目进行适配的时候发现部分(如华为手机) ...

  3. Android适配全面总结(一)----屏幕适配

    版权声明:本文为博主原创文章(部分引用他人博文,已加上引用说明),未经博主允许不得转载.https://www.jianshu.com/p/7aa34434ad4d 转载请标明出处: https:// ...

  4. Android适配--最详细的限定符屏幕适配方案解析 附带values-Dimens文件生成工具

    屏幕适配 前言 适配缘由 相关概念 适配方案 db适配 设计最大分辨率图片 屏幕分辨率限定符(宽高限定符) dimens文件生成原理 使用样例1 使用样例2 dimens文件生成脚本 总结 最小宽度限 ...

  5. 关于Android适配版本Q

    对于Android Q  也就是Android 10.0的到来大家做好准备了吗, 这篇博客用来给大家普及Android Q 适配知识的普及. 当然本人首推的是官方Google的文档,不关官方更新到那个 ...

  6. Android 适配Q版本Beta2

    Android适配Q版本Beta2 背景 谷歌API LEVEL要求,应用2019上架谷歌Play商店需要应用升级自己的targetSdkVersion到28.具体参考 本次主要改动点: 1.Targ ...

  7. android 适配性完全攻略

    android 适配性完全攻略 概要-一路走过来的过程   从2015年10月之前呢,都是走的dp单位+多组value文件的套路来适配的,这种老套路就不多说了,优点是稳定性强,只要是value文件涉及 ...

  8. Android 适配指南

    AndroidVersionAdapter: 安卓版本适配全套指南 Android 版本适配全套指南 项目地址:Github.码云 当我在做 Android 版本适配工作的时候很痛苦,那个时候我在想有 ...

  9. android 适配红米,红米5plus适配问题 · Issue #8 · JessYanCoding/AndroidAutoSize · GitHub

    上面的日志显示,你只是以宽为基准,当然只能让宽度占满屏幕 没有什么基准高,基准宽这么一说,只能以高或宽中的一个作为基准,建议看看我的 文章,原理看懂了才会用,以下为文章内容 要看懂下面的内容,还得明白 ...

  10. android 适配最佳方案,android适配方案

    一, 关于适配的一些概念性的知识 1.1. 重要的概念解释 1.1.1. 屏幕尺寸: 屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米 比如常见的屏幕尺寸有2.4.2.8.3.5.3.7 ...

最新文章

  1. Kali Linux安全渗透教程(内部资料)
  2. 华为设备ENSP静态路由的配置实战
  3. python中if brthon环境安装包_Ant、Gradle、Python三种打包方式的介绍
  4. Winform中封装DevExpress的MarqueeProgressBarComtrol实现弹窗式进度条效果
  5. C++ 类模板中友元函数问题
  6. Jquery validate验证表单时多个name相同的元素只验证第一个的问题
  7. java当数值超过byte时_java试题及答案
  8. 科技巨头开发人工智能 稀缺品种或成A股香饽饽
  9. JConsole监控远程linux下的JVM
  10. Aspose.Cell 导出和导入Excel
  11. ArcMap水文分析系列教程
  12. 【第123期】面试攻略:谈谈对游戏策划的理解
  13. 开源旅游网站系统排名
  14. python 微信图文消息接口_用Python实现微信公众号API素材库图文消息抓取
  15. 1-3 Grammar
  16. hdu5956, The Elder (树型dp, 斜率优化)
  17. 用C++编写一个简易数学计算器
  18. js 实现在线考试切屏代码
  19. Visual Studio Code For Markdown Guide
  20. Bootloader(启动引导程序)--->u-boot

热门文章

  1. 团队用过最好的bug管理软件-delbug管理
  2. 什么是长元音和短元音
  3. ilo管理脚本 hponcfg方式
  4. tomcat示例文件漏洞解决方案
  5. 51c语言延时程序怎么编写,C51中延时程序的编写
  6. RRP拷贝目录内的所有文件及子目录到指定目录
  7. 湘潭大学数据库考试(郭云飞)
  8. 直播预告:Envoy Core Maintainer 跨洋解读 Envoy 技术(中文)
  9. matlab示波器多个接口,simulink在一个图形中画出多个示波器曲线的方法
  10. 基于RouteOS的NAT Radius网络计费管理实验