在Acitvity的Class當中比較單純
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
若在非Activity的Class下,通常會是在Custom View時,此時若要取得螢幕解析度,可以使用下列程式碼,重點是要使用SystemService當中的Context.WINDOW_SERVICE
WindowManager wm = (WindowManager) this.getContext().getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
width = display.getWidth();
在做开发的过程中经常需要获得手机屏幕的物理尺寸以做好UI的适配工作。于是就使用:
mHeight = getWindowManager().getDefaultDisplay().getHeight();方法获得屏幕高度。但是却发现一个问题,不准确,我在真机上做测试,一个分辨率为480*800的手机获得的高度是533,奇怪。
解决办法:
在AndroidManifest.xml文件中添加配置:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />
即可。