在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);
}
}