1,單位
px:是屏幕的像素點
dp :一個基于density的抽象單位,如果一個160dpi的屏幕,1dp=1px.注:density值表示每英寸有多少個顯示點
在運行時, android根據(jù)使用中的屏幕的實際密度, 透明地處理任何所需dp單位的縮放.
android官方定義dip等價于160dpi屏幕下的一個物理像素點.(當屏幕為160dpi時的像素點做為一個dp,dpi值/160dpi*1px=1dp)dip :等同于dp
sp :同dp相似,但還會根據(jù)用戶的字體大小偏好來縮放(建議使用sp作為文本的單位,其它用dip)
2,屏幕密度
- drawable-ldpi: 屏幕密度ppi為120的手機設(shè)備
- drawable-mdpi: 屏幕密度ppi為160的手機設(shè)備(此為baseline,其他均以此為基準,在此設(shè)備上,1dp = 1px)
- drawable-hdpi: 屏幕密度ppi為240的手機設(shè)備
- drawable-xhdpi: 屏幕密度ppi為320的手機設(shè)備
- drawable-xxhdpi: 屏幕密度ppi為480的手機設(shè)備
3,單位換算
- dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。
- drawable-ldpi: 分辨率240×320 比例:0.75 1dp =0.75px
- drawable-mdpi: 分辨率320×480 比例:1 1dp =1px
- drawable-hdpi: 480×800或480×854 比例:1.5 1dp =1.5px
- drawable-xhdpi: 分辨率720×1280 比例:2 1dp =2px
- drawable-xxhdpi: 分辨率1920*1080 比例:3 1dp =3px
4,dp與px換算公式:
- pixs =dips * (densityDpi/160).
- dips=(pixs*160)/densityDpi