相關概念orm
分辨率:整個屏幕的像素數目,爲了表示方便通常用屏幕的像素寬度(水平像素數目)乘以像素高度表示,形如1280x720,反之分辨率爲1280x720的屏幕,像素寬度不必定爲1280圖片
屏幕密度:表示單位面積內的像素個數,一般用dpi爲單位,即每英寸多少個像素點資源
px:長度單位,以具體像素爲單位table
dp:長度單位,與具體屏幕密度無關,顯示的時候根據具體平臺屏幕密度的不一樣最終轉換爲相應的像素長度,具體轉換規則是: 1dp = (目標屏幕密度/標準密度)*px,標準密度爲160dpi,例如,1dp長度在密度爲160dpi的平臺表示一個像素的長度,而在240dpi的平臺則表示1.5個像素的長度tab
屏幕尺寸:屏幕的大小,一般用屏幕對角線的長度表示文件
Android界面適配機制block
UI界面在不一樣平臺的適配受屏幕尺寸和屏幕密度影響,Android適配機制就是在資源後面添加對這兩種因素的限定,經過不一樣的限定區分不一樣的平臺資源,Android在使用資源的時候會優先選擇知足本平臺限定的資源,再找最接近條件的,再找默認(即不加限定),經過選擇適合當前平臺的資源來完成不一樣平臺的適配。界面
屏幕尺寸分爲:small,normal,large,xlarge分別表示小,中,大,超大屏像素
屏幕密度分爲:ldpi,mdpi,hdpi,xhdpi,xxhdpi 它們的標準值分別是:120dpi,160dpi,240dpi,320dpi, 480dpiab
在Android4.3以後又添加了xxxhdpi,達到640dpi,接近4k分辨率
xxxhdpi | xxhdpi | xhdpi | hdpi | mdpi | ldpi | |
---|---|---|---|---|---|---|
dpi對應值 | 640dpi | 480dpi | 320dpi | 240dpi | 160dpi | 120dpi |
像素密度 | 4.0 | 3.0 | 2.0 | 1.5 | 1.0 | 0.75 |
對應圖片大小 | 192*192 | 144*144 | 96*96 | 72*72 | 48*48 | 36*36 |
對應px大小 | 4px | 3px | 2px | 1.5px | 1px | 0.75px |
實際像素計算公式 px = dp*像素密度,例如:mdpi分辨率:1px = 1dp*1.0
drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:
(1)drawable-hdpi裏面存放高分辨率的圖片,如WVGA (480×800),FWVGA (480×854)
(2)drawable-mdpi裏面存放中等分辨率的圖片,如HVGA (320×480)
(3)drawable-ldpi裏面存放低分辨率的圖片,如QVGA (240×320)
系統會根據機器的分辨率來分別到這幾個文件夾裏面去找對應的圖片。