Display display = getWindowManager().getDefaultDisplay();
mScreenPixW = display.getRawWidth();
mScreenPixH = display.getRawHeight();
这样取得的分辨率为800*480,其他的方法如:
display.getWidth();
display.getHeight();
得到的是可用的分辨率,我的机子为取得为800*444,宽度是对的,但是高度为444,这是因为减去了下边systemUI边框的宽度,实际上为activity可用的高度,因为systemUI总是要显示的,不可能隐藏掉,不过getRawWidth和getRawHeight方法并没有对外公开,我们看源代码中就知道了
/**
* Gets the raw width of the display, in pixels.
* <p>
* The size is adjusted based on the current rotation of the display.
* </p>
* @hide
*/
public int getRawWidth() {
int w = getRawWidthNative();
if (DEBUG_DISPLAY_SIZE) Slog.v(
TAG, "Returning raw display width: " + w);
return w;
}
可以看到@hide,说明这是隐藏的方法,所以我们要用的话,要把代码放到源代码中编译就可以了,否则在eclipse中是出错的哟!