android– 状态栏遮盖了Overlay Action Bar

android– 状态栏遮盖了Overlay Action Bar,第1张

概述我正在尝试让我的应用程序在真正的全屏(无状态栏,无 *** 作栏)和“正常模式”( *** 作栏和状态栏)之间切换.为此,我在叠加模式下设置了一个 *** 作栏,我允许用户切换 *** 作栏和状态栏:getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);getWindow().clearFlags(W

我正在尝试让我的应用程序在真正的全屏(无状态栏,无 *** 作栏)和“正常模式”( *** 作栏和状态栏)之间切换.为此,我在叠加模式下设置了一个 *** 作栏,我允许用户切换 *** 作栏和状态栏:

getwindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FulLSCREEN);getwindow().clearFlags(WindowManager.LayoutParams.FLAG_FulLSCREEN);     actionbar.show();

..并且关闭:

getwindow().addFlags(WindowManager.LayoutParams.FLAG_FulLSCREEN);getwindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FulLSCREEN);actionbar.hIDe();

只需一个例外就可以正常工作:无论何时发生这些 *** 作,都会调整实际布局的大小.好吧,还有另一个标志,显然只是为了这个,所以我添加到我的onCreate():

getwindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_liMITS);

好的,现在调整大小不再是一个问题,但是现在我的 *** 作栏被状态栏遮住了一半,只要两者都打开:

有什么我想念的吗?如何使 *** 作栏正确显示在状态栏的正下方?

解决方法:

经过反复试验,我找到了解决方案.这会隐藏 *** 作栏和状态栏,而不会导致图像调整大小.

private voID toggleFullscreen(boolean on) {    Actionbar actionbar = getActionbar();    VIEw decorVIEw = getwindow().getDecorVIEw();    if (on) {        decorVIEw.setsystemUIVisibility(                VIEw.SYstem_UI_FLAG_LAYOUT_Stable                | VIEw.SYstem_UI_FLAG_LAYOUT_FulLSCREEN                | VIEw.SYstem_UI_FLAG_FulLSCREEN);        actionbar.hIDe();    }    else {        decorVIEw.setsystemUIVisibility(                VIEw.SYstem_UI_FLAG_LAYOUT_Stable                | VIEw.SYstem_UI_FLAG_LAYOUT_FulLSCREEN);        actionbar.show();    }}
总结

以上是内存溢出为你收集整理的android – 状态栏遮盖了Overlay Action Bar全部内容,希望文章能够帮你解决android – 状态栏遮盖了Overlay Action Bar所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1113313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存