Android Statusbar图标颜色

我想知道是否可以更改状态栏图标的颜色(而不是状态栏的颜色colorPrimaryDark)。

http://img1.mukewang.com/5db2a44900019c2807200055.jpg

假设我要使用以下状态栏:

<item name="colorPrimaryDark">@android:color/white</item>


黑色的图标,可以吗?


谢谢。


编辑:


M开发人员预览中的新增功能:windowLightStatusBar。将其翻转为主题将告诉系统使用深色前景,这对于浅色状态栏很有用。请注意,M预览似乎存在一个错误,即通知图标保持白色,而系统状态图标正确更改为半透明黑色。

http://img1.mukewang.com/5db2a4540001b21505060285.jpg

繁花不似锦
浏览 1027回答 3
3回答

慕慕森

自棒棒糖以来没有。从Android 5.0开始,准则如下:通知图标必须完全为白色。即使不是,系统也只会考虑您图标的Alpha通道,将其渲染为白色解决方法在Lollipop上带有彩色图标的唯一方法是降低您targetSdkVersion的价值观<21,但我认为您最好遵循准则并仅使用白色图标。但是,如果仍然决定要使用彩色图标,则可以使用新的v4支持库中的DrawableCompat.setTint方法。

幕布斯7119047

我们如何通过xml更改状态栏色彩的问题。但是我们也可以在代码中动态更改它:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {&nbsp; &nbsp; View decor = getWindow().getDecorView();&nbsp; &nbsp; if (shouldChangeStatusBarTintToDark) {&nbsp; &nbsp; &nbsp; &nbsp; decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; // We want to change tint color to white again.&nbsp; &nbsp; &nbsp; &nbsp; // You can also record the flags in advance so that you can turn UI back completely if&nbsp; &nbsp; &nbsp; &nbsp; // you have set other flags before, such as translucent or full screen.&nbsp; &nbsp; &nbsp; &nbsp; decor.setSystemUiVisibility(0);&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android