如何在安卓系统中改变状态栏的颜色?

565

3
只有在KitKat之后才有可能实现。@MarkBuikema - codercat
9
如Niels所建议,从v21开始有一个名为 android:statusBarColor 的主题属性。你可以简单地将其添加到 values-v21/styles.xml 中。 - Levite
@MarkBuikema 这跟root访问权限有什么关系! - Steve Moretz
请查看此答案(使状态栏为白色,图标为黑色)。链接:https://dev59.com/gV4c5IYBdhLWcg3wuMJ7#74375368 - Rumit Patel
32个回答

0
我使用了这段代码将状态栏变为透明。
    activity?.window?.setFlags(
        WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
        WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
    )

使用以下代码将其更改为样式中的颜色 我在片段中使用了onDetach()函数

activity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)

0
解决方案:在棒棒糖版本之后,将此代码添加到if语句中并在onCreate中调用即可。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Window window = this.getWindow();
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        window.setStatusBarColor(this.getResources().getColor(R.color.blueColorPrimaryDark));
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接