1.各个尺寸单位的含义
- px(pixels)像素:手机屏幕上最小的显示单位
- in(英寸):屏幕的物理尺寸, 每英寸等于2.54厘米。
- pt(point):标准长度单位, 1pt=1/72英寸,用于印刷业,UI设计师会用,iOS字体单位,Android开发不涉及。
- dpi(dots per inch) :
1.打印分辨率,每英寸所能打印的点数,即打印精度
2.每英寸点数,即每英寸包含像素个数。 (这个含义其实是被广大的科技公司所应用,一般来说不应该使用dpi去定义屏幕的分辨率等问题,因为你会发现这个概念跟ppi的概念相同,但是科技大佬们的误用也使行业内很多人跟着用了,Android中的dpi其实就是ppi) - ppi(pixels per inch):每英寸所包含的像素数量
- dp(也即dip,device independent pixels)设备独立像素,这是Android中专门定义的一个虚拟的像素单位,就是为了应对Android碎片化问题而创造出使用的,它是根据屏幕大小和密度动态渲染的,计算公式:
px = dp * ( dpi / 160)
2.如何计算不同尺寸的手机的PPI
- 其实在理解了ppi的概念之后我们计算手机的ppi就非常简单了,我们知道了手机的尺寸(也就是对角线长度)和分辨率之后,通过勾股定理就能计算出手机的ppi,这里以三星s8为例(说实话我给这样一个例子我觉得很智障,因为ppi参数网上都有,捂脸):
1.计算屏幕高宽比:2960:1440=18.5:9
2.计算出高或者宽的尺寸(这里以宽度为例):9*5.8/√18.5²+9² ~2.53 in
3.计算ppi:1440 pixel/2.53 in ~ 569 ppi
3.不同PPI分辨率下该如何放置不同大小的图片呢
1.我们在做屏幕适配时可以把不同大小的图片添加到不同的drawable- dpi文件夹下进行适配,但是网上这样的资料很少,我都搞不清楚到底什么ppi范围对应什么drawable -dpi文件夹,但是经过我的测试我总结出来了其对应关系:- 120-160ppi:mdpi
- 160-240ppi:hdpi
- 240-320ppi:xhdpi
- 320-480ppi:xxhdpi
- 480-640ppi :xxxhdpi
注:虽然其对应关系不是绝对的,具体还要看手机的尺寸大小,但是目前而言手机屏幕的大小比例基本是16:9,所以没什么问题。
常见的设备屏幕尺寸比例和屏幕密度(density)见GOOGLE官网: 常见屏幕分辨率和密度
4.GOOGLE的百分比库的使用
- 暂时没有使用,以后添加