px和dp的关系

View.getWidth()得到的宽度单位为 px

 

px = dp * 屏幕密度

 

屏幕密度 =

DisplayMetrics dm = getApplicationContext().getResources().getDisplayMetrics()
print_lg("设备的绝对宽度:"+dm.widthPixels+"px");
print_lg("设备的绝对高度:"+dm.heightPixels+"px");
print_lg("水平方向的dpi:"+dm.xdpi);
print_lg("竖直方向的dpi:"+dm.ydpi);
print_lg("屏幕的密度:"+dm.density);
print_lg("单位尺寸的像素点:"+dm.densityDpi);

当前手机的屏幕密度 = 当前手机的dpi / 160

 

例如:

 

则:屏幕的密度 =  420(水平方向的dpi)/ 160 = 2.625

    

我给跳转a界面的按钮设置的宽度为240dp

 

px和dp的关系_第1张图片

然后可以看到通过aactivity.getWidth()得到的结果是630px

即:240dp * 2.635 = 630px

即得出:px = dp * 屏幕密度

你可能感兴趣的:(Android)