没有appcompat的Android更改状态栏颜色

Posted

技术标签:

【中文标题】没有appcompat的Android更改状态栏颜色【英文标题】:Android change Status Bar Color without appcompat 【发布时间】:2015-01-02 06:25:28 【问题描述】:

我刚刚意识到,在 Lollipop 以下的 android 版本上,无法通过 appcompat 更改状态栏颜色。 我目前正在运行 Android Kitkat 4.4.2 并收到了应用程序的更新,这是屏幕截图

我的问题是,他们是如何在运行低于 Lollipop 版本的设备上不使用 appcompat 的情况下更改状态栏颜色的?

如何改变颜色?

【问题讨论】:

看看本教程:murrayc.com/permalink/2014/10/28/… 编辑:对您的问题来说重要的是,您使用最新版本 (21) 中的 appcompat 库。你可以在这里找到文档:developer.android.com/tools/support-library/… 我目前正在运行 Android 4.4.2 并且 twitch 应用程序以某种方式设法更改状态栏颜色,我只是想知道如何,因为通常它应该只在 Android Lollipop 中可用 @AlexLockwood :这个问题的公认答案最终是说无法通过 appcompat 更改状态栏颜色。我有一个更改状态栏颜色的应用程序,想知道它是如何实现的 Twitch 正在使用 kit kat api 来实现该效果。它使状态栏变得半透明......它实际上并没有设置它的颜色。 @AlexLockwood 是正确的。您实际上无法更改状态栏的颜色,但您可以在下方绘制 【参考方案1】:

无法通过设置 colorPrimaryDark 来更改 Lollipop(5.0) 之前的状态栏颜色。

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

见this

另见this

【讨论】:

如何实现呢?感谢回复【参考方案2】:

我已经使用这个库来更改我的应用程序中的状态栏颜色。对我来说,它已经引起了复杂性,所以在你使用它之前仔细测试你的 UI,但它为 KitKat 完成了这项工作。据我所知,在 OS 19 之前无法更改系统栏颜色。

https://github.com/jgilfelt/SystemBarTint

【讨论】:

以上是关于没有appcompat的Android更改状态栏颜色的主要内容,如果未能解决你的问题,请参考以下文章

更改没有动画的切换状态

使用 AppCompat ActionBarActivity 更改状态栏颜色

没有高度的 AppCompat 按钮

Android AppCompat 更改材质按钮的文本颜色

在 Appcompat 21 中更改工具栏颜色

在 21 android 以下的 api 上更改状态/通知栏颜色?