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

时间:2014-11-04 19:07:38

标签: android android-layout android-fragments android-5.0-lollipop

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

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

任何想法都将不胜感激!

1 个答案:

答案 0 :(得分:18)

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

getWindow().setStatusBarColor(Color.RED);

可以找到setStatusBarColor的文档here。您还可以阅读有关如何Customize the Status Bar

的文档

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

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

getWindow().setStatusBarColor(getResources().getColor(R.color.custom_color)); // RIGHT
getWindow().setStatusBarColor(R.color.custom_color); // WRONG