Android:状态栏颜色更改,API级别低于21

时间:2015-12-04 09:32:55

标签: android android-5.0-lollipop android-theme android-styles android-statusbar

我正在尝试更改状态栏颜色,API级别低于21.通过更改主题样式中的主要颜色,我们可以更改API级别21的状态栏中的颜色。

Playstore

我正在寻找如何更改较低版本的状态栏颜色

任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:14)

Lollipop

可以更改状态栏的颜色

但实际上您可以更改Api> = 19

的状态栏颜色

在价值风格-v19 put

<?xml version="1.0" encoding="utf-8"?>
<resources>

        <style name="AppTheme" parent="MaterialDrawerTheme.Light">
                <!-- Customize your theme here. -->
                <item name="android:windowNoTitle">true</item>
                <item name="android:windowTranslucentStatus">true</item>
                .....
        </style>
</resources>

状态栏的背景颜色将变为透明色,并且为了着色它只需在您的应用中添加背景颜色,以便状态栏将采用该颜色

希望这是明确和有用的

答案 1 :(得分:4)

更改状态栏颜色功能仅适用于Lollipop以上。较低操作系统版本没有此功能。您无法更改前棒棒糖设备中的状态栏颜色。

答案 2 :(得分:3)

AppCompat v7:23.1.0的最新版本中,不支持状态栏着色。

查看Android developers blog post

来自帖子:

在较旧的平台上,AppCompat会尽可能模仿颜色主题。目前,这仅限于为操作栏和一些小部件着色。

这意味着AppCompat lib只会在Lollipop及更高版本上显示状态栏。

答案 3 :(得分:0)

<<这不是最好的解决方案(但可能是唯一的解决方案),但是它可以工作>>

在API lvl v21以下,您可以通过更改您的 colorPrimaryDark (有时是 colorPrimary )来更改状态栏颜色)属性中的 styles.xml 文件以及您正在使用的 主题 中。

现在,这对于您来说可能是可行的,甚至很多都不可行,对于您而言,这似乎是hack,甚至是显而易见的。但是我只是在这里发布它,因为它对我有用,而且我确实没有使用过colorPrimary或​​colorPrimaryDark,所以我对此没有任何问题。