安卓中确定可用屏幕尺寸的正确方法是什么?

3

我知道这个问题已经被问了几次,但是我还没有找到一个令人满意的答案。之前的回答都可以获得总屏幕分辨率,但在想要纠正Honeycomb中的通知栏和/或系统栏时会失败。

有没有一种方法可以确定可用屏幕的尺寸?

1个回答

1
我之前做的方式几乎肯定不是最好的方法:创建一个控件,将其设置为填充整个屏幕,然后检查其大小。如果你在游戏中绘制视图或类似情况下,这种方法非常有用。

我不确定这应该如何工作。在我的布局文件中,我添加了一个按钮,它被告知为X和Y都设置为“fill_parent”。在活动的onCreate方法中,我使用findViewbyId获取按钮,然后使用button.getHeight()和button.getWidth()获取高度和宽度。当我运行测试时,按钮出现在我的手机上并填充屏幕,但是getHeight()和getWidth()返回的值都是0。 - slayton
我也遇到过类似的问题。我认为问题在于它在绘制一次后才被测量,所以尝试在某个时候在绘制后获取大小。我会尝试找到我的旧代码,看看它是如何正常工作的。 - jli
你说得对,它必须先被绘制出来。我将代码从onCreate移动到了onStop,然后我得到了正确的值。我还在等待更好的方法,因为这些方法对我来说有点太hackish了。 - slayton
我认为如果在onStart()中完成,它应该可以工作,请尝试一下。或者也许在onResume()中完成。 - jli
好的...只要您不需要在加载第一个活动时获取信息,这个程序就可以正常工作。 - slayton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接