android 手机屏幕密度等级和屏幕逻辑尺寸

在 android 开发中常常会使用到手机屏幕密度和屏幕逻辑尺寸来进行屏幕适配,这里就列出常见手机的屏幕参数列表:

像素密度等级 逻辑像素密度 屏幕像素 屏幕尺寸(inch) 宽逻辑尺寸(dp单位) 真实像素密度
ldpi-0.75 120 240*320 2.7 w320dp 140.55
mdpi-1 160 320*480 3.2 w320dp 180.27
hdpi-1.5 240 480*800 3.4 w320dp 274.39
xhdpi-2 320 720*1280 4.65 w360dp 315.6
xhdpi-2 320 768*1280 4.65 w384dp 321
xxhdpi-3 480 1080*1920 4.95 w360dp 445
xxxdpi-4 640 1440*2560 5.96 w360dp 492
  • 像素密度等级:是 rom 厂商设定的值,一般是取实际屏幕密度最接近的屏幕密度等级对应的值,但是也可以自主设定
  • 逻辑像素密度:像素密度等级对应的像素密度
  • 像素:就是屏幕的实际像素单元个数
  • 尺寸:就是屏幕的实际尺寸大小
  • 逻辑尺寸:实际像素数/像素密度等级
  • 真实像素密度:利用勾股定理算对角线上像素数/对角线尺寸
  • dp,dp 翻译过来叫做设备无关像素,对于真实像素密度等于像素密度等级上的逻辑值的设备,1dp = 1/160 inch,对于不等于逻辑值的设备,比如上述表格第二个设备,180.27 != 160 这个差值 android 操作系统会进行等比缩放来弥补。比如在这个设备上用的 160dp 到最后真正在屏幕上用多少个像素表示呢,这其实经过了 2 个步骤:
    1. dp 转程序中的 px,按照 dp 转 px 的公式,在该设备上 160dp=160px,160dp 和我们程序里面用 160px 完全等价
    2. 程序中的 px 转显示屏上的 px,程序中160px 在该设备显示屏上用的是 180 px。160px -> 180px 这个过程是android操作系统自动完成的,我们不需要关心

你可能感兴趣的:(android,dp,屏幕适配)