在片段更改[Android Lollipop]上更改状态栏颜色

use*_*770 10 android android-layout android-fragments android-5.0-lollipop

我想知道如何根据当前活动的片段(在5.0 Lollipop上)更改StatusBar颜色.目前,我根据我所在的Fragment更改了ActionBar颜色,但现在我希望StatusBar颜色也能改变 - 以便在Lollipop设备上看起来不错.

我已经尝试使用setStyle以编程方式根据片段更改主题,但它似乎没有更改状态栏颜色.

任何想法,将不胜感激!

zta*_*tan 18

您是否尝试使用状态栏更改颜色Window.setStatusBarColor?例如,您可以执行以下操作以编程方式将状态栏颜色更改为红色.

getWindow().setStatusBarColor(Color.RED);
Run Code Online (Sandbox Code Playgroud)

文档setStatusBarColor可以在这里找到.您还可以阅读有关如何自定义状态栏的文档.

注意:此方法仅适用于Lollipop或更高版本.

如果您看到意外的颜色,请确保传递的整数值是颜色整数而不是资源ID.

getWindow().setStatusBarColor(getResources().getColor(R.color.custom_color)); // RIGHT
getWindow().setStatusBarColor(R.color.custom_color); // WRONG
Run Code Online (Sandbox Code Playgroud)