標籤:
參考:http://www.cnblogs.com/greatverve/archive/2011/12/28/android-dip-dp-sp-pt-px.html
http://www.360doc.com/content/15/0713/09/26211242_484580697.shtml
文章內容僅供參考
dpi==>device independent pixels(裝置獨立像素),不同裝置有不同的顯示效果,這個和裝置硬體有關;
一般為了支援WVGA、HVGA和QVGA 推薦使用這個,不依賴像素;
dpi,也可以理解為每英寸上的像素點——表示螢幕像素的密度,單位是dpi;
舉例說明:
即密度無關像素,以160dpi為基準,1dip=1px
舉例:
裝置1:解析度是480*320,像素密度是160dpi
裝置2:解析度是800*480,像素密度是240dpi
裝置1中,1dip=1px,裝置2中1dip=240/160px
dp==>等價於dpi
sp==>scale_independent pixels,可以根據文字大小喜好設定進行放縮,Google推薦盡量使用12sp以上的單位,不然可能會讓使用者看不清楚;
推薦使用12sp,14sp,18sp,22sp,盡量不要使用奇數和小數,因為放縮的時候可能造成精度丟失。
xp==>構成映像的最小單位,pixels(像素). 不同裝置顯示效果相同,一般我們HVGA代表320x480像素,這個用的比較多;
pt==> point,是一個標準的長度單位,1pt=1/72英寸,用於印刷業,非常簡單易用;
sp: scaled pixels(放大像素). 主要用於字型顯示best for textsize
in(英寸)==>長度單位;
mm(毫米)==>長度單位;
解析度==>是指整個螢幕是多少點,Eg:800*480,它是對於軟體來說的顯示單位,以PX為單位的點,density(密度)值表示每英寸有多少個顯示點,與解析度是兩個概念。
當螢幕的density=240時——使用hdpi標籤的資源;
當螢幕的density=160時——使用mdpi標籤的資源;
當螢幕的density=120時——使用ldpi標籤的資源;
注意:android中一般設定長度、寬度——使用dpi做單位;——在螢幕密度為160時,1pd=1px=1dpi ,1pt=160/72英寸,當螢幕為240時,1dp=1dpi=1.5px
設定字型大小——使用sp;
android學習筆記18——dpi、dp、sp、xp......