我搜索了这个问题,几乎所有答案都是这样的:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
但是官方文档说widthPixels
是The absolute width of the display in pixels.
我在Nexus 5上运行上面的代码,宽度等于1080.显然它是Pixel值。我错过了什么吗?如何获得屏幕的下降值?
答案 0 :(得分:2)
你应该把结果转换成逢低,比如:
private int pixelsToDips(int pixels)
{
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pixels / scale + 0.5f);
}