手機屏幕密度等級和屏幕邏輯尺寸
阿新 • • 發佈:2017-05-05
我們 ace 數列 使用 app 設備 hdp wid align
在 Android 開發中常常會使用到手機屏幕密度和屏幕邏輯尺寸來進行屏幕適配,這裏就列出常見手機的屏幕參數列表:
像素密度等級 | 像素密度 | 邏輯像素密度 | 屏幕像素 | 屏幕尺寸(inch) | 寬邏輯尺寸(dp) | 真實像素密度 | 設備型號 |
---|---|---|---|---|---|---|---|
ldpi-0.75 | 120 | 120 | 240*320 | 2.7 | w320dp | 140.55 | |
mdpi-1 | 160 | 160 | 320*480 | 3.2 | w320dp | 180.27 | |
hdpi-1.5 | 240 | 240 | 480*800 | 3.4 | w320dp | 274.39 | |
xhdpi-2 | 320 | 320 | 720*1280 | 4.65 | w360dp | 315.6 | |
xhdpi-2 | 320 | 320 | 768*1280 | 4.65 | w384dp | 321 | Nexus4 |
xxhdpi-3 | 480 | 480 | 1080*1920 | 4.95 | w360dp | 445 | Nexus5 |
xxhdpi-3 | 480 | 420 | 1080*1920 | 5.2 | w411dp | 423 | Nexus5X |
xxxdpi-4 | 640 | 560 | 1440*2560 | 5.96 | w411dp | 493 | Nexus6/6P |
- 像素密度等級:是 rom 廠商設定的值,一般是取實際屏幕密度最接近的屏幕密度等級,但是也可以自主設定,目前 android sdk 中支持的等級有 ldpi、mdpi、tvdpi、hdpi、xhdpi、xxhdpi、xxxhdpi
- 等級像素密度:像素密度等級對應的像素密度
- 邏輯像素密度:是 rom 廠商設定的值,一般是取實際屏幕密度最接近的屏幕密度等級對應的值,但是也可以自主設定,通過系統 api,getResources().getDisplayMetrics().densityDpi 可以獲取到該值
- 像素:就是屏幕的實際像素單元個數
- 尺寸:就是屏幕的實際尺寸大小
- 邏輯尺寸:實際像素數*160/邏輯像素密度,這也是 px 轉 dp 的公式
- 真實像素密度:利用勾股定理算對角線上像素數/對角線尺寸
- dp,dp 翻譯過來叫做設備無關像素,對於真實像素密度等於像素密度等級上的邏輯值的設備,1dp = 1/160 inch,對於不等於邏輯值的設備,比如上述表格第二個設備,180.27 != 160 這個差值 android 操作系統會進行等比縮放來彌補。比如在這個設備上用的 160dp 到最後真正在屏幕上用多少個像素表示呢,這其實經過了 2 個步驟:
- dp 轉程序中的 px,按照 dp 轉 px 的公式,在該設備上 160dp=160px,160dp 和我們程序裏面用 160px 完全等價
- 程序中的 px 轉顯示屏上的 px,程序中160px 在該設備顯示屏上用的是 180 px。160px -> 180px 這個過程是android操作系統自動完成的,我們不需要關心
手機屏幕密度等級和屏幕邏輯尺寸