首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多窗口模式下,窗口高度不包括状态栏高度。

在多窗口模式下,窗口高度不包括状态栏高度。
EN

Stack Overflow用户
提问于 2016-12-16 17:33:41
回答 1查看 945关注 0票数 2

我的活动在状态栏下绘制,它是半透明的。

我使用以下方法获得窗口高度:

代码语言:javascript
复制
WindowManager manager = activity.getWindowManager();
DisplayMetrics metrics = new DisplayMetrics();
manager.getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;

这个高度是正确的,包括内容高度和状态栏高度,因为我在那里绘图,而且我的窗口有正确的标志。

在多窗口模式下,如果我的应用程序是最上面的,它仍然在状态栏下绘制,但是height不会包含这个值。

如何在不弄脏的情况下获得多窗口模式下的真实窗口高度?

备注

我不需要屏幕高度,比如Display.getRealSize()返回的屏幕高度。我想要窗高。但是,如果我的窗口在状态栏下绘制,则该值必须包括状态栏高度,就像关闭多个窗口时一样。

更多信息

实际上,在进入多个窗口之后,height值将永远不会包含状态栏,即使在之后退出多个窗口也是如此。例如,在Nexus5X上:

代码语言:javascript
复制
// Start the app in normal mode
height = 1794; // Everything except nav bar. OK!
// Go in multi-window mode.
// Go out of multi-window mode.
height = 1730; // Status bar height is not there anymore. :-(

好像是个肮脏的虫子。在这种情况下,我想知道是否有人对它有更多的了解(设备、API级别、bug报告)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-17 21:03:06

在Android7.0预览中使用多窗口模式时,有一个AOSP问题(219133)涉及到Display类的问题。

开发团队表示,他们修复了错误,修补程序“将在未来的版本中可用”。到目前为止(版本7.0和7.1),错误行为仍然存在。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41189621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档