获得以英寸为单位的物理显示尺寸,Android?

时间:2014-05-12 08:17:40

标签: android dimension android-windowmanager

有没有办法以语法方式获得屏幕的物理高度和宽度。

我试过这个

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        double x = Math.pow(dm.widthPixels/dm.xdpi, 2);
        double y = Math.pow(dm.heightPixels/dm.ydpi, 2);
        double screenInches = Math.sqrt(x+y);

我发现还有什么,在肖像和风景中,它会返回不同的值。

并且它可能给予高度,在我的关系上它是4.41的东西。任何人都有想法/建议吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getRealSize(size);
int width = size.x;
int height = size.y;

DisplayMetrics dm = new DisplayMetrics();
display.getMetrics(dm);
double x = Math.pow(width/dm.xdpi, 2);
double y = Math.pow(height/dm.ydpi, 2);
double screenInches = Math.sqrt(x+y);