Android中dp和px之间进行转换

在XML布局文件中,我们既可设置PX,也可设置dp(或dip),但一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致,但在代码中,怎样处理呢?

比如setPadding,并没有提供设置dp的方法,这个时候,如果需要设置dp,需要将dp转换成px

详见代码:

public  class  UtilTest{

  /** 根据手机分辨率从dp转换为px*/

   public  static  int  dpToPx(Context  context , float  dpVa)

  {

   final  float  scale=context.getResources( ).getDisplayMetrics( ).density;

   return  (int)(dpVa * scale +0.5f);

  }

 /**根据手机分辨率从px转换成dp*/

 public  static  int  pxTodp(Context  context , float  pxVa)

  {

  final  float scale=context.getResources( ).getDisplayMetrics( ).density ;

  return  (int) (pxVa /scale+0.5f);

 }

}


你可能感兴趣的:(Android中dp和px之间进行转换)