景观窗口尺寸Android

时间:2012-01-13 21:31:36

标签: android dimensions

我一直无法获得Android的屏幕尺寸。我不希望状态栏的大小包含在我的维度中。我正在开发的应用程序将永久处于横向模式。我一直在测试android蜂窝模拟器。当我使用How can I get android Honeycomb system's screen width and height?中的代码获取尺寸时,我得到1280x800。我很好奇为什么链接问题中的人减去状态栏的大小而我的工作方式不合适。另外,如何才能使状态栏的大小实际减去?如果需要任何其他细节,我会定期检查提供。谢谢!

1 个答案:

答案 0 :(得分:1)

好!我终于弄明白了。我将来自几个不同来源的代码拼凑在一起,所以我不确切地知道为什么事情会像他们那样成功。这是相关的代码。

Rect rect = new Rect();
Window win = getWindow();
win.getDecorView().getWindowVisibleDisplayFrame(rect);
screenWidth = Math.abs(rect.left-rect.right);
screenHeight = Math.abs(rect.top-rect.bottom);

但有一点需要注意。此代码不会在onCreate()方法中工作。相反,将其放在

public void onWindowFocusChanged (boolean hasFocus)

这可以解决获取窗口尺寸的任何问题!

编辑:我相信这个解决方案也应该在纵向模式下工作。我没有测试过它。