如何将android状态栏颜色更改为白色,状态栏图标颜色更改为灰色

时间:2017-03-23 18:38:06

标签: android android-layout material-design android-view statusbar

我正在尝试将状态栏的颜色更改为带有灰色图标的白色。我已经为这个问题尝试了几乎所有的代码解决方案,但是没有为我工作。

我正在使用这个java fucntion来改变它,我也发布了我的样式(21)代码。

public static void statusBarColor(Window window, Context ctx) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                //Window window = getActivity().getWindow();

                window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
                window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
                window.setStatusBarColor(ctx.getResources().getColor(R.color.statusbar_color));
            }
        }

这是我的java代码,但经过数千次尝试后才能正常工作。 以下是我的style.xml(21)

 <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
        <item name="android:windowLightStatusBar" tools:targetApi="23">true</item>   
    </style>

如果您认为它与其他一些问题的重复,那么我现在应该让您尝试3,4页谷歌搜索并实施它们。

1 个答案:

答案 0 :(得分:6)

这个标志可以实现:

<form name="myForm">
    Your Age: <input type="text" name="age">
    <input type="submit" value=" Send " id="submit">
</form>
<div id="demo"></div>

不幸的是,它可以从API 23向上提供,因此您必须在<item name="android:windowLightStatusBar">true</item> 中指定它。有关详细信息,请参阅this

此功能没有任何后退端口,因此在编写此功能时,它不会在任何低23位上工作。

enter image description here