我尝试使用
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics.heightPixels;
metrics.widthPixels;
但因为我使用View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
宽度不对。
它显示没有导航栏的大小。但我想知道所有的屏幕尺寸..
谢谢!
答案 0 :(得分:3)
这仅适用于API 17及更高版本。只需使用getRealMetrics(metrics)
而不是调用getMetrics()
。 (或者,如果您需要的只是大小,则可以致电getRealSize(Point)
。)有关使用早期API级别的方法,请参阅this thread。
答案 1 :(得分:1)
它对我来说很好
DisplayMetrics metrics = this.getResources().getDisplayMetrics();
int width = metrics.widthPixels;
int height = metrics.heightPixels;
答案 2 :(得分:0)
尝试
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
答案 3 :(得分:0)
使用此代码,这是在API 13中实现的
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
或
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int width = display.getWidth(); // deprecated
int height = display.getHeight(); // deprecated