Android屏幕适配
发布日期:2021-06-07 09:28:14
浏览次数:8
分类:技术文章
本文共 2186 字,大约阅读时间需要 7 分钟。
Android屏幕适配顺序
配置限定符名称(由高到低)
- MCC and MNC
- Language and Region 语言和区域 eg. en
- Layout Direction 布局方向 eg. ldrtl ldltr
- Smallest Width 最小宽度(不考虑是宽度还是高度) swdp eg. sw720dp
- Available Width 可用宽度 wdp eg. w720dp 应用为多个资源目录提供不同的此配置值时,系统会使用最接近(但未超出)设备当前屏幕宽度的值。
- Avalable Height 可用高度 hdp eg. h720dp
- Screen Size 屏幕尺寸 eg.small normal large xlarge
- Screen Aspect 屏幕纵横比 eg. long(宽屏) notlong(非宽屏)
- Screen Orientation 屏幕方向 eg. port(垂直) land(水平)
- UI mode UI模式 eg. car(车载手机) desk(桌面手机) television(电视) appliance(不带显示器) watch(手表)
- Night mode 夜间模式 eg. night notnight
- Screen pixel density(dpi) 屏幕像素密度, eg. ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi nodpi tvdpi
- Touch screen type 触摸屏类型, eg. notouch(设备没有触摸屏) finger(设备有一个专供用户通过手指直接与其交互的触摸屏)
- Keyboard availability 键盘可用性 eg. keysexposed keyshidden keyssoft
- Primary text inputmethod 主要文本输入法 eg. nokeys qwerty 12key
- Navigation key avilability 导航键可用性 eg. navexposed navhidden
- Primary non-touch navigation method 主要非触摸导航方法 eg. nonav dpad trackball wheel
- Platform Version(API level) 平台版本(API 级别)eg. v3 v4 v7
sizes:
- small
- normal
- large
- xlarge
Android 3.2(API level 13)之后,sizes被废弃,使用available screen width 来代替。
- smallestWidth 格式:swdp,eg. sw600dp,sw720dp
- Avaiable screen width 格式:wdp,eg. w720dp, w1024dp
- Available screen height 格式:hdp,eg. h720dp, h1024dp
densities:
- ldpi(low) ~ 120dpi - mdpi(medimu) ~ 160dpi - hdpi(high) ~ 240dpi - xhdpi(extra-high) ~ 320dpi - xxhdpi(extra-extra-high) ~ 480dpi - xxxhdpi(extra-extra-extra-high) ~ 640dpi - nodpi 它可用于您不希望缩放以匹配设备密度的位图资源 - tvdpi 介于mdpi和hdpi之间,约为213dpi。主要用于电视
Orientation
- land
- port
限定符命名规则
- 可以为单组资源指定多个限定符,并使用短划线分隔。例如,drawable-en-rUS-land 适用于横排美国英语设备。
- 这些限定符必须遵循限定符的顺序。即按优先级从高到低。例如:
错误: drawable-hdpi-port/
正确: drawable-port-hdpi/
- 不能嵌套备用资源目录。例如,您不能拥有 res/drawable/drawable-en/。
- 值不区分大小写。在处理之前,资源编译器会将目录名称转换为小写,以避免不区分大小写的文件系统出现问题。 名称中使用的任何大写字母只是为了便于认读。
- 对于每种限定符类型,仅支持一个值。例如,若要对西班牙语和法语使用相同的 Drawable 文件,则您肯定不能拥有名为 drawable-rES-rFR/ 的目录,而是需要两个包含相应文件的资源目录,如 drawable-rES/ 和 drawable-rFR/。然而,实际上您无需将相同的文件都复制到这两个位置。相反,您可以创建指向资源的别名。
Android资源匹配算法
系统使用以下逻辑决定要使用的资源:
- 淘汰与设备配置冲突的资源文件(屏幕像素密度(dpi)是唯一一个不会因为冲突而淘汰的限定符。)
- 选择优先级最高的限定符,先从MCC开始,然后下移
- 是否有资源目录包括此限定符?若无,返回第2步,看下一个限定符;若有,继续执行第4步
- 淘汰不含此限定符的资源目录
- 返回并重复第2步、第3步和第4步,直到只剩下一个目录为止。
注:限定符的优先级,比设备完全匹配的限定符数量更加重要。
参考:
转载地址:https://blog.csdn.net/Next_Second/article/details/53005966 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月17日 07时19分16秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
[Leetcode 每日精选](本周主题-并查集) 面试题 17.07. 婴儿名字
2019-04-26
[Leetcode 每日精选](本周主题-并查集) 721. 账户合并
2019-04-26
[Leetcode 每日精选](本周主题-并查集) 399. 除法求值
2019-04-26
[Leetcode 每日精选](本周主题-并查集) 959. 由斜杠划分区域
2019-04-26
[Leetcode 每日精选](本周主题-并查集) 130. 被围绕的区域
2019-04-26
[leetcode 剑指offer系列] 面试题04. 二维数组中的查找
2019-04-26
[leetcode 剑指offer系列] 面试题05. 替换空格
2019-04-26
[leetcode 剑指offer系列] 面试题06. 从尾到头打印链表
2019-04-26
剑指 Offer 07. 重建二叉树 - leetcode 剑指offer系列
2019-04-26
剑指 Offer 09. 用两个栈实现队列 - leetcode 剑指offer系列
2019-04-26
剑指 Offer 10- I. 斐波那契数列 - leetcode 剑指offer系列
2019-04-26
剑指 Offer 11. 旋转数组的最小数字 - leetcode 剑指offer系列
2019-04-26
剑指 Offer 12. 矩阵中的路径 - leetcode 剑指offer系列
2019-04-26
剑指 Offer 13. 机器人的运动范围 - leetcode 剑指offer系列
2019-04-26
剑指 Offer 26. 树的子结构 - leetcode 剑指offer系列
2019-04-26
剑指 Offer 27. 二叉树的镜像 - leetcode 剑指offer系列
2019-04-26
剑指 Offer 28. 对称的二叉树 - leetcode 剑指offer系列
2019-04-26
剑指 Offer 29. 顺时针打印矩阵 - leetcode 剑指offer系列
2019-04-26
剑指 Offer 30. 包含min函数的栈 - leetcode 剑指offer系列
2019-04-26