Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获得屏幕的宽度和高度-Android_Java_Android - Fatal编程技术网

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

Java 如何获得屏幕的宽度和高度-Android,java,android,Java,Android,我试着用 DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); metrics.heightPixels; metrics.widthPixels; 但是因为我使用View.SYSTEM\u UI\u FLAG\u IMMERSIVE\u STICKY,所以宽度不对。 它显示不带导航栏的尺寸。但是我想知道所有的屏幕尺寸 谢谢 对我来说

我试着用

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

metrics.heightPixels;
metrics.widthPixels;
但是因为我使用View.SYSTEM\u UI\u FLAG\u IMMERSIVE\u STICKY,所以宽度不对。 它显示不带导航栏的尺寸。但是我想知道所有的屏幕尺寸


谢谢

对我来说很好

DisplayMetrics metrics = this.getResources().getDisplayMetrics();
int width = metrics.widthPixels;
int height = metrics.heightPixels;
试一试


使用此代码这是在API 13中实现的

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


这只有在API 17及更高版本中才可能实现。只需使用,而不是调用getMetrics。如果你只需要尺寸,也可以打电话。有关使用早期API级别的方法,请参阅。

我的问题是,我得到的屏幕大小导航栏大小与您想要的大小@Alon?@andomaahashi-OP相当清楚:屏幕大小没有任何装饰或缩放因子的调整。
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