如何获得Android手机屏幕的大小

时间:2017-04-07 10:28:32

标签: java android screen screen-resolution screen-size

我想获得屏幕的大小,我已经有了分辨率

 DisplayMetrics displayMetrics = new DisplayMetrics();
    WindowManager windowmanager = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
    windowmanager.getDefaultDisplay().getMetrics(displayMetrics);
    final int deviceWidth = displayMetrics.widthPixels;
    final int deviceHeight = displayMetrics.heightPixels;

但我希望尺寸以英寸为单位,例如三星Galaxy S7的分辨率为2560x1440,屏幕为5.1“,这是我想要的5.1。

由于

2 个答案:

答案 0 :(得分:3)

如果您想要显示尺寸(以像素为单位),可以使用以下代码:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

然后您可以添加比较高度的条件以满足您的需求。

以英寸为单位:

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);
Log.d("debug","Screen inches : " + screenInches);

答案 1 :(得分:2)

试试这个

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