我想获得屏幕的大小,我已经有了分辨率
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。
由于
答案 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);