【问题标题】:How to change android status bar color to white and status bar icon color to grey如何将android状态栏颜色更改为白色并将状态栏图标颜色更改为灰色
【发布时间】:2017-08-16 11:57:09
【问题描述】:

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

我正在使用这个 java 函数来改变它,我也发布了我的 style(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 页的谷歌搜索并实施了它们。

【问题讨论】:

  • 你的 xml 现在做了什么?

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


【解决方案1】:

使用这个标志是可以实现的:

<item name="android:windowLightStatusBar">true</item>

不幸的是,它从 API 23 开始可用,因此您必须在 values-v23/styles.xml 中指定它。请参阅this 了解更多信息。

此功能没有任何向后移植,因此在撰写本文时它不会在任何更低的 23 上工作。

【讨论】:

  • 是的,但问题是如何在棒棒糖中实现相同的功能。现在非常混乱
  • 并对问题进行投票也将非常值得赞赏:)
猜你喜欢
  • 1970-01-01
  • 2015-03-05
  • 1970-01-01
  • 1970-01-01
  • 2017-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-27
相关资源
最近更新 更多