Android 颜色状态栏

Android color status bar

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

<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>

值-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>

清单

android:theme="@style/Theme.AppCompat.Light.NoActionBar">

如果您在应用程序中使用低于第 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));

还有一件事,如果您在 activity 中扩展 AppCompatActivity,此代码将不起作用,它仅适用于扩展 Activity