获取屏幕分辨率大小的android问题

时间:2011-01-14 12:49:28

标签: android screen

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
height = displaymetrics.heightPixels;
width = displaymetrics.widthPixels;
Log.e("FirstImage", "Width = "+width+"Height = "+height);

上面是我用来显示屏幕尺寸的代码..但问题是我得到了width=320height=569。但我正在使用具有屏幕尺寸480x854

的motorola里程碑

如何才能获得正确的尺寸?

4 个答案:

答案 0 :(得分:3)

http://realmike.org/blog/2010/12/21/multiple-screen-sizes-with-processing-for-android/

上面的链接有很好的资源,可以讲述屏幕分辨率以及如何获得真正的屏幕分辨率等等....完全阅读你会了解现实

答案 1 :(得分:0)

如果你没有设置大屏幕的支持,我会害怕,因为屏幕假装更小,以便能够显示应用程序(这应该不支持你的大屏幕)。

如果将其添加到清单中,它将显示正确的值

     <supports-screens 
        android:largeScreens="true" 
        android:smallScreens="true" 
        android:normalScreens="true" 
     /> 
你可能甚至想玩

 android:anyDensity

属性,但我不认为你当前的问题需要它。

答案 2 :(得分:0)

试试这个

WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display d = wm.getDefaultDisplay();
int height = d.getHeight();

答案 3 :(得分:0)

<supports-screens>标记绝对可以使用。参见

http://developer.android.com/guide/topics/manifest/supports-screens-element.html

一个重要的问题是,您为什么不相信您从DisplayMetrics获得的缩放尺寸?如果你要做类似

的事情
canvas.drawRect(new Rect(0,0,width,height), new Paint());

你的矩形肯定会填满整个屏幕。发生了缩放,但也许你不在乎。