我已经尝试过这个……
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。我认为这可能与Ice Cream Sandwich中的屏幕导航栏有关,因此我使用以下方法隐藏它:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
然后启动一个线程,持续记录屏幕大小的高度/宽度。即使ICS导航栏完全消失...屏幕大小也不会报告1280值。我得到的数字如下:
width = 720
height = 1184
在ICS中如何获取真实的设备屏幕分辨率?
我需要这个值的原因是因为我的应用程序播放视频,当设备处于横向方向时,我希望视频占据整个屏幕。现在我知道你在想什么,为什么不只给videoview的高度/宽度设置“match_parent”的值呢?原因是因为我的视频有多个宽高比,我希望能够根据屏幕的整个宽度计算正确的视频大小。