1.设备密度的计算
设备英寸是指,设备屏幕对角线英寸数。
设备密度 = 设备长(宽)分辨率 / 设备长(宽)英寸 = 每英寸的像素数
根据设备分辨率,可以计算出设备【宽高比】,然后根据 设备英寸,算出设备【宽度英寸】数。
然后设备 【宽度分辨率 / 设备宽度英寸 = 每英寸像素数】 也就是设备密度。
2.res目录的密度 (固定值)
默认drawable(文件夹名后不跟分辨率)----->160
ldpi -----> 120 px
mdpi -----> 160 px
hdpi -----> 240 px
xhdpi -----> 320 px
xxhdpi -----> 480 px
xxxhdpi-----> 640 px
3. 1dp = 多少px
public class DisplayMetrics {
public static final int DENSITY_MEDIUM = 160;
public static final int DENSITY_DEFAULT = DENSITY_MEDIUM;
density = DENSITY_DEVICE / (float) DENSITY_DEFAULT;
}
设备屏幕密度 / res资源默认密度 (160 dpi)
比如:
设备密度 = 240dpi
那么 1dp = 240/160 = 1.5px