如何更改android中状态栏的颜色?

时间:2016-03-19 05:56:39

标签: android styles android-manifest statusbar

这是我的风格

 <style name="NoActionbar" parent="android:style/Theme.NoTitleBar">

    <item name="android:statusBarColor">#1c465d</item>

</style

>

我想通过删除操作栏来更改启动画面 但我意识到默认状态栏颜色是黑色,我无法将状态栏的颜色更改为绿色

为什么这个节目?

我该怎么做?

4 个答案:

答案 0 :(得分:1)

您可以通过定义colorPrimaryDark项目来设置状态栏颜色:

<item name="colorPrimaryDark">#1c465d</item>

答案 1 :(得分:1)

如上所述,将样式中的colorPrimaryDark属性设置为您喜欢的任何属性。

<resources>
  <!-- inherit from the material theme -->
  <style name="AppTheme" parent="android:Theme.Material">
    <!-- Main theme colors -->
    <!--   your app branding color for the app bar -->
    <item name="android:colorPrimary">@color/primary</item>
    <!--   darker variant for the status bar and contextual app bars -->
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <!--   theme UI controls like checkboxes and text fields -->
    <item name="android:colorAccent">@color/accent</item>
  </style>
</resources>

http://developer.android.com/training/material/theme.html

要正确地执行此操作,您应该在color.xml中声明颜色值,然后从样式中引用它。

答案 2 :(得分:0)

转到~values / color.xml并替换colorPrimaryDark

<item name="colorPrimaryDark">#1c465d</item>

答案 3 :(得分:0)

这样您可以以编程方式设置状态栏颜色

if (Build.VERSION.SDK_INT >= 21) {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);         getWindow().setStatusBarColor(getResources().getColor(R.color.primary_dark));
}