Android px转dp 和 dp转px
在写布局的时候最后使用dp来定义我们程序的界面,因为这样可以保证我们的 UI 在各种分辨率屏幕下都可以正常显示,但是经常会遇到美工给的单位都是px,所以这个时候就需要我们通过代码来实现 px 转 dp 了。
dp转px
/**
* 从 px 的单位转成 dp
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
px转dp
/**
* 从 dp 的单位转成 px
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}