Android屏幕适配的基础知识
2017-05-24 11:35
148 查看
尺寸概念
resolution:以像素数表示的高度与宽度
dpi:dots per inch,一英寸的像素数量
分辨率可各种检测软件查得,也可由adb命令行查看:
adb shell wm size
dpi可由计算得出,但实际效果是由厂家制定的dpi而定的:
厂家
adb shell getprop ro.sf.lcd_density
计算
例1:分辨率为1920*1080,5.5英寸,dpi计算可得:
dpi=19202+10802−−−−−−−−−−−√5.5=400
例2:分辨率为1920*1200,7英寸,dpi计算可得:
dpi=19202+12002−−−−−−−−−−−√7=323
屏幕适配
Android的屏幕适配大体分三部分,一部分体现在drawble中,一部分体现在
values中,还有一部分体现在
layout(暂不讨论)。
drawble
drawble的适配很好理解,将图片放入相应的文件夹内,应用就会根据自身的dpi去调用该文件夹的图片进行显示渲染。
drawble | dpi |
---|---|
drawble-ldpi | 120 |
drawble-mdpi | 160 |
drawble-hdpi | 240 |
drawble-xdpi | 320 |
drawble-xxdpi | 480 |
values的适配主要靠
dimens.xml中自定的dp、sp等常量单位来控制真实显示的大小。理论上,在dpi=160的屏幕中,1dp=1sp=1px;同理,dpi=320的时候,1dp=1sp=2px。
values | dp |
---|---|
values-w820dp | 适配宽度为820dp的屏幕 |
values-sw500dp | 适配最小宽度为500dp的屏幕(宽高均大于500dp) |
values-land | 适配横置屏幕 |
values-600dp-land | 适配横置时宽度为600dp的屏幕 |
values-port | 适配竖立屏幕 |
values-500dp-port | 适配竖立时宽度为500dp的屏幕 |
values-1920x1080 | 精确适配分辨率为1920*1080的屏幕 |
例1:分辨率为1920*1080,5.5英寸,dpi计算得到为400,厂家制定为480,那么其宽高分别为:
w=1920480/160=640dp
h=1080480/160=360dp
例2:分辨率为1920*1200,7英寸,dpi计算得到为323,厂家制定为320,那么其宽高分别为:
w=1920320/160=960dp
h=1200320/160=600dp
值得注意一点的是,dpi是以厂家制定为准的,计算而出的只能作为大概的参考,这个只要自己测试一下就可以得出结论。
相关文章推荐
- android屏幕适配基础知识
- Android屏幕适配 - 屏幕基础理论知识笔记;res资源文件命名与匹配规则
- Android实战屏幕适配方案-基础知识
- 【Android基础知识】关于屏幕适配的学习(support-screens)
- Android知识梳理之屏幕适配全攻略
- Android知识梳理之屏幕适配全攻略
- Android基础知识之屏幕兼容模式
- android多屏幕适配相关知识和官方翻译文档
- Android关于屏幕适配中一些基础概念解释
- android之屏幕适配之一理论知识
- Android基础知识之屏幕兼容模式
- android基础之屏幕适配基础 sdk版本支持基础
- Android基础知识之屏幕兼容模式
- Android 屏幕适配相关知识
- 关于Android屏幕适配应该知道的一些知识
- Android屏幕适配相关知识
- android之屏幕适配之一理论知识
- Android_基础知识_03_获取屏幕的高度和宽度
- Android_基础知识_04_设置屏幕全屏
- Android屏幕适配-UI设计师不可不知的安卓屏幕知识