为了账号安全,请及时绑定邮箱和手机立即绑定

Android Statusbar图标颜色

Android Statusbar图标颜色

繁花不似锦 2019-10-25 15:28:52
我想知道是否可以更改状态栏图标的颜色(而不是状态栏的颜色colorPrimaryDark)。假设我要使用以下状态栏:<item name="colorPrimaryDark">@android:color/white</item>黑色的图标,可以吗?谢谢。编辑:M开发人员预览中的新增功能:windowLightStatusBar。将其翻转为主题将告诉系统使用深色前景,这对于浅色状态栏很有用。请注意,M预览似乎存在一个错误,即通知图标保持白色,而系统状态图标正确更改为半透明黑色。
查看完整描述

3 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

自棒棒糖以来没有。从Android 5.0开始,准则如下:


通知图标必须完全为白色。


即使不是,系统也只会考虑您图标的Alpha通道,将其渲染为白色


解决方法

在Lollipop上带有彩色图标的唯一方法是降低您targetSdkVersion的价值观<21,但我认为您最好遵循准则并仅使用白色图标。


但是,如果仍然决定要使用彩色图标,则可以使用新的v4支持库中的DrawableCompat.setTint方法。


查看完整回答
反对 回复 2019-10-25
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

我们如何通过xml更改状态栏色彩的问题。但是我们也可以在代码中动态更改它:


if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

    View decor = getWindow().getDecorView();

    if (shouldChangeStatusBarTintToDark) {

        decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

    } else {

        // We want to change tint color to white again.

        // You can also record the flags in advance so that you can turn UI back completely if

        // you have set other flags before, such as translucent or full screen.

        decor.setSystemUiVisibility(0);

    }

}


查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 1026 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信