如何获得屏幕的宽度和高度-Android

时间:2014-10-08 04:53:01

标签: java android

我尝试使用

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

metrics.heightPixels;
metrics.widthPixels;

但因为我使用View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY宽度不对。 它显示没有导航栏的大小。但我想知道所有的屏幕尺寸..

谢谢!

4 个答案:

答案 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