Android获取屏幕高度

在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" />
即可。

你可能感兴趣的:(android,service,Class)