在XML佈局文件中,咱們既可設置PX,也可設置dp(或dip),但通常狀況下,咱們都會選擇使用dp,這樣能夠保證不一樣屏幕分辨率的機器上佈局一致,但在代碼中,怎樣處理呢?佈局
好比setPadding,並無提供設置dp的方法,這個時候,若是須要設置dp,須要將dp轉換成pxspa
詳見代碼:ip
public class UtilTest{get
/** 根據手機分辨率從dp轉換爲px*/it
public static int dpToPx(Context context , float dpVa)class
{float
final float scale=context.getResources( ).getDisplayMetrics( ).density;方法
return (int)(dpVa * scale +0.5f);static
}di
/**根據手機分辨率從px轉換成dp*/
public static int pxTodp(Context context , float pxVa)
{
final float scale=context.getResources( ).getDisplayMetrics( ).density ;
return (int) (pxVa /scale+0.5f);
}
}