屏幕尺寸信息
屏幕大小:
以寸为单位,如4.7寸5.5寸,计算:屏幕左上角到右下角的距离(1英寸 = 2.54厘米)
分辨率:
720x1280 代表宽有720像素点 高有1280个像素点
像素点:
px(单位),像素不是一个点或一个方块,而是一个抽样的采样,实际是一片面积。
密度值:
DPI(密度值的单位)
Dots per inch,每英寸像素点 也称PPI(Pixels per inch),
「注意英寸是斜对角的长度」,所以就是斜线上的像素数
计算:√{(长度像素数^2+宽度像素数^2)}/ 屏幕尺寸
根据规定的DPI确定当前屏幕是ldpi还是mdpi…
密度 | ldpi | mdpi | hdpi | xhdpi | xxhdpi |
---|---|---|---|---|---|
密度值(density,即dpi) | 120 | 160 | 240 | 320 | 480 |
分辨率 | 240x320 | 320x480 | 480x800 | 720x1200 | 1080x1920 |
独立像素(设备无关像素)dp(单位):
google为了做屏幕的适配规定:
在mdpi即密度值为160的屏幕上,1px = 1dp (所以就有了密度比)
所以:ldpi下,1dp = 0.75px 3
mdpi下,1dp = 1px 4
hdpi下,1dp = 1.5px 6
xhdpi下,1dp = 2px 8
xxhdpi下,1dp = 3px 12不准确,不推荐使用
密度比:
密度比 = dpi / 160
代码获取密度比:float density = getResource().getDisplayMetrics().density;
dp转化为px:
dp * 密度比 = 像素
换算公式:px = dp * (dpi / 160)
即dp = px / dpi / 160