首页 > 解决方案 > 如果使用 FLAG_LAYOUT_NO_LIMITS,则无法使用 setStatusBarColor 设置状态栏颜色

问题描述

我正在尝试在 NavigationBar 后面绘制布局。为此,我设置FLAG_LAYOUT_NO_LIMITS如下:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

这确实导致在 NavigationBar 后面绘制布局,但它还将 StatusBar 背景颜色设置为白色/透明。使用更改状态栏颜色getWindow().setStatusBarColor(Color.RED);无效。

我的所有工作都是动态的,不能使用和设置 .xml 文件的样式。这是 的已知行为FLAG_LAYOUT_NO_LIMITS吗?

标签: androidwindowstatusbar

解决方案


getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

还要检查这个


推荐阅读