这个我试过了......
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int fullscreenheight = metrics.heightPixels;
int fullscreenwidth = metrics.widthPixels;
和....
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
Gnex 的显示屏为 720×1280。返回的宽度/高度结果(当然取决于方向)永远不会是 1280。我认为这可能与冰淇淋三明治中的屏幕导航栏有关,所以我将其隐藏为:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
...然后启动一个线程,该线程连续记录屏幕尺寸高度/宽度。即使在 ICS 导航栏完全消失之后....屏幕尺寸也永远不会报告 1280 的值。我会得到这样的数字:
width = 720
height = 1184
如何在 ICS 中获得真正的设备屏幕分辨率?
我需要这个值的原因是因为我的应用程序播放视频,并且我希望视频在设备处于横向时占据整个屏幕。现在我知道你在想什么,为什么不给视频视图一个高度/宽度的“match_parent”值呢?原因是我的视频有多个纵横比,我希望能够根据屏幕的整个宽度计算出正确的视频大小。