一、介紹
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:國際域名空間、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、黃陂網(wǎng)站維護、網(wǎng)站推廣。
dip:設(shè)備獨立像素(Device independent pixel),一個基于density的抽象單位;
dp:在早期的Android版本里多使用dip,后來為了與sp統(tǒng)一就建議使用dp這個名字;
px:像素(Pixel),1px代表屏幕上一個物理的像素點,px單位不被建議使用,因為同樣1px,在不同手機上顯示的實際大小可能不同,偶爾用到px的情況是需要畫1像素表格線或畫一條細的分隔線的時候,用其他單位如dp會顯得模糊;
sp:與縮放無關(guān)的抽象像素(Scale-independent Pixel),sp和dp很類似但唯一的區(qū)別是,Android系統(tǒng)允許用戶在系統(tǒng)設(shè)定里自定義文字尺寸大小(小、正常、大、超大等等),當文字尺寸設(shè)置“正?!睍r1sp=1dp=0.00625英寸,而當文字尺寸設(shè)置“大”或“超大”時,1sp>1dp=0.00625英寸;
dpi:每英寸多少個像素點(Dots per inch ),常見取值 120,160,240 像素密度,簡稱密度;
density:密度。常見取值 1.5 , 1.0 。和標準dpi的比例(160px/inc)
分辨率:橫縱2個方向的像素點的數(shù)量,常見取值 480X800 ,320X480
屏幕尺寸:屏幕對角線的長度。電腦電視同理。
二、換算
dip = (dpi/160)*pixel.(所以dip可能比像素更大或更小)
/** * dp 的單位 轉(zhuǎn)成為 px(像素) * * @param context * @param dpValue * @return */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 從 px(像素) 的單位 轉(zhuǎn)成為 dp * * @param context * @param pxValue * @return */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); }
Android中,
在160dpi (mdpi)中, 1 dip = 1 px;
在120dpi(ldpi)中, 1 dip = 0.75px;
在240dpi (hdpi)中, 1 dip = 1.5px;
在320dpi(xhdpi)中,1dip = 2px;
三、Android中的適配
在如下目錄中分別對應(yīng)各個分辨率的,即可做到不同手機的適配
我是用下面的工具來看美工的圖的,截圖如下,可以切換不同的分辨率