如果使用FLAG_LAYOUT_NO_LIMITS,则无法使用setStatusBarColor设置StatusBar颜色

时间:2018-11-15 15:02:57

标签: android window statusbar

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

check this