Android颜色状态栏

时间:2016-06-16 11:43:21

标签: android statusbar

我想更改状态栏的颜色。但我尝试的一切都没有用。

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:statusBarColor">@color/colorPrimaryDark</item>
</style>

values-v21

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>

        <item name="android:statusBarColor">@color/colorPrimaryDark</item>

    </style>

清单

机器人:主题= “@风格/ Theme.AppCompat.Light.NoActionBar” &GT;

1 个答案:

答案 0 :(得分:0)

如果您在应用程序中使用低于21的API,则必须从java实现它,只需尝试以下代码来更改状态栏的颜色

Window window = activity.getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(activity.getResources().getColor(R.color.my_statusbar_color));

还有一件事,如果您在活动中扩展AppCompatActivity,此代码将无效,它仅适用于Extends Activity