2011-09-21 208 views
2

我试图让Android的屏幕的宽度和高度,我有:Android,获取屏幕宽度和高度?

DisplayMetrics displaymetrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
stageWidth = displaymetrics.widthPixels; 
stageHeight = displaymetrics.heightPixels; 

的宽度是1280,但它与752

任何想法回来了吗?

回答

4

试试这个:

Display display = getWindowManager().getDefaultDisplay(); 
stageWidth = display.getWidth(); 
stageHeight = display.getHeigth(); 

是,同样的宽度是多少?你确定宽度是1280而不是752?你正在测试什么设备,你获得了多少高度?

+2

这些方法已被弃用。你应该使用:'getSize(Point outSize)' – DanielS

+0

@DanielS你是什么意思由点超大?计算显示器的高度时,该参数是什么样的? –

+0

outSize对象将包含显示的大小(针对方向进行调整)。该文档在这里 - http://developer.android.com/reference/android/view/Display.html#getSize(android.graphics.Point) – DanielS

0

使用显示对象上此方法(从文档):

void getSize(Point outSize) - Returns the raw size of the display, in pixels.

+0

如何在我的代码中使用它? – beans

+1

这是Display对象中的一种方法。只需创建一个新的点对象并将其传递给该方法即可。一旦它返回,它应该有适当的信息在里面。在此发布您的结果,并告诉我们是否成功。 – DanielS

0

旋转屏幕和see.I认为你会得到你的正确的屏幕尺寸。

上面的代码与我一起工作,应该与你合作。