Android 景观窗口维度
我在获取android的屏幕尺寸时遇到了麻烦。我不希望状态栏的大小包含在我的维度中。我正在开发的应用程序将永久处于横向模式。我一直在用android蜂巢模拟器进行测试。当我使用中的代码获得维度时,我得到1280x800。我很好奇,为什么链接问题中的人会将状态栏的大小减去,而我的状态栏却不是这样。另外,我如何使状态栏的大小实际上被减去?如果需要任何额外的细节,我将定期检查以提供。谢谢 好的!我终于明白了。我从几个不同的来源拼凑了代码,所以我不知道为什么事情会这样发展。这是相关代码Android 景观窗口维度,android,dimensions,Android,Dimensions,我在获取android的屏幕尺寸时遇到了麻烦。我不希望状态栏的大小包含在我的维度中。我正在开发的应用程序将永久处于横向模式。我一直在用android蜂巢模拟器进行测试。当我使用中的代码获得维度时,我得到1280x800。我很好奇,为什么链接问题中的人会将状态栏的大小减去,而我的状态栏却不是这样。另外,我如何使状态栏的大小实际上被减去?如果需要任何额外的细节,我将定期检查以提供。谢谢 好的!我终于明白了。我从几个不同的来源拼凑了代码,所以我不知道为什么事情会这样发展。这是相关代码 Rect rec
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)
这将解决获取窗口尺寸的任何问题
编辑:我相信这个解决方案也应该在纵向模式下工作。不过我还没有测试过。好的!我终于明白了。我从几个不同的来源拼凑了代码,所以我不知道为什么事情会这样发展。这是相关代码
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)
这将解决获取窗口尺寸的任何问题
编辑:我相信这个解决方案也应该在纵向模式下工作。不过我还没有测试过