banner
NEWS LETTER

dp与px的转换

Scroll down
dp:是 dip 的简写,指密度无关的像素。
指一个抽象意义上的像素,程序用它来定义界面元素。一个与密度无关的,在逻辑尺寸上,与一个位于像素
密度为 160dpi 的屏幕上的像素是一致的。要把密度无关像素转换为屏幕像素,可以用这样一个简单的公式:
pixels=dips*(density/160)。举个例子,在 DPI 为 240 的屏幕上,1 个 DIP 等于 1.5 个物理像素。
布局时最好使用 dp 来定义我们程序的界面,因为这样可以保证我们的 UI 在各种分辨率的屏幕上都可以正常显示。

简单记忆:

1.转换代码:

根据手机的分辨率从 px(像素) 的单位 转成为 dp
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}

根据手机的分辨率从 dip 的单位 转成为 px(像素)
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
其他文章
目录导航 置顶
  1. 1. 简单记忆:
  2. 2. 1.转换代码:
请输入关键词进行搜索