Android 的 notification 图标问题

2015-10-30 09:00:25 +08:00
 mowangdk

最近在工作上遇上一个 bug...当有些应用发出通知的时候,在 statusbar 上边显示的图标是纯白色的方块.开始以为是图像加载的有问题,但是仔细研究之后发现,在 android kk 版本之前图像都是正常的,但是在 L 之后就开始变白,于是上网查询了一下,发现是在 android5.0 版本之后就故意将除黑白颜色之外的图标强制涂成白色,如果背景用非透明的颜色的话,就会全部被涂成白色,变成一个白块,但是这个问题并非从 6.0 开始早在 5.0 的时候就开始出现这个问题了,为什么有些 app 厂商没有注意?还有 google 为什么要加上这种算法特地将颜色改变,求解答

16293 次点击
所在节点    Android
18 条回复
monsoon
2015-10-30 09:16:34 +08:00
因为原先的那种形式的图标不好看, 颜色太花, 在状态栏上一点也不好看.
并且这也是 Material Design 的规范了 ( https://www.google.com/design/spec/patterns/notifications.html)

实际上这样的改变在 Android 5.0 里好看了很多, 在 Android 6.0 里有个 `android:windowLightStatusBar` 把状态栏变成亮色的设定 (图标会变成灰色), 如果 Icon 是单色的, 系统 tint 成其他颜色选择的余地就大了.
至少我用的很多 App 里很多厂商都的图标的显示都是正常的, 如果你看到有些厂商还不知道的, 那么就是他们菜或者是上班混日子.
mio4kon
2015-10-30 09:24:26 +08:00
@monsoon 讲道理里的话估计都是用着 iPhone 的 android 开发人员.没有 5.0 手机 /斜眼笑
monsoon
2015-10-30 09:25:42 +08:00
@mio4kon 你说的对, 我要讲道理.
oott123
2015-10-30 09:28:06 +08:00
想一下就知道了,跪舔 iPhone 呗…
你想想嘛,在安卓做成圆角矩形背景填充,到状态栏就一坨白色了。
反正这种 App 我一概取消通知权限…连 QQ 都做得很好了,还有透明状态栏,不知道那些 App 在想什么,大概用 2.3 在开发吧。
cst4you
2015-10-30 09:32:39 +08:00
qq 的提示图标简直日狗,现在都白了就他一个蓝色的
iv2ex
2015-10-30 09:36:55 +08:00
QQ 需要的时候下载一次 用完基本就删
因为我每次退出的时候明明选择了不通知消息 每次还是通知 MLGB 啊
mowangdk
2015-10-30 09:44:09 +08:00
@monsoon 暴风影音。。。。。。
lincanbin
2015-10-30 09:55:18 +08:00
我也发现了,这导致我得另外再画一个图标,但是我的设计水平十分有限。
monsoon
2015-10-30 10:06:21 +08:00
@mowangdk 我说的太过了, 向暴风影音和那些无缘无故中枪的人道歉 (其中应该也有一些努力的开发者也许可能正好使用 5.0 以下的机子或者其他原因而一直没发现我觉得这可能性也是有的), 不过作为开发者还是应该 Eating your own dog food ( https://zh.wikipedia.org/wiki/Eating_your_own_dog_food), 这样才能做好产品!
monsoon
2015-10-30 10:11:34 +08:00
@lincanbin 刚刚看了下你的那个论坛客户端的 github 的截图, 那个白色圆球的状态栏的图标意外的很萌! (绝对褒义)
mowangdk
2015-10-30 11:39:55 +08:00
@lincanbin 其实只要改造成两种颜色然后把其中一种颜色扣掉应该就可以了.....
kaedea
2015-10-30 12:07:38 +08:00
哈哈哈,周围的产品、设计、研发都是那 IPHONE ,就我和测试用 Android ,还经常被吐槽“你工资没那么低吧还不买 Iphone ”
monsoon
2015-10-30 12:19:00 +08:00
楼主你可以把 targetSdkVersion 改成 21 以下就可以了 (见 http://stackoverflow.com/a/28387744)
如果你的客户需要这样做, 你就这样做吧.
lee015
2015-10-30 19:01:47 +08:00
@monsoon
6.0 自带状态栏反色了? 5.0 时我还是自己实现的。
tntjackie
2015-11-01 00:20:22 +08:00
举个栗子,大众点评好像白了很久了。。。这种事情呢,感觉靠的是程序猿和产品汪的自觉与情感
colatin
2015-12-16 18:00:00 +08:00
@lee015 请问 5.0 是咋做的? 5.0 以前可以吗?
lee015
2015-12-17 08:32:06 +08:00
做了两种,动态检测状态栏下方界面颜色调整图标颜色, framework 提供接口应用自己调。最终都是在 systemUI 设置图标 colorfilter 。 5.0 以前不知道有没有 setcolorfilter 这样的接口,没有的话自己拿到 bitmap 改颜色也行。
lee015
2015-12-17 08:33:07 +08:00
@colatin 忘 @了
做了两种,动态检测状态栏下方界面颜色调整图标颜色, framework 提供接口应用自己调。最终都是在 systemUI 设置图标 colorfilter 。 5.0 以前不知道有没有 setcolorfilter 这样的接口,没有的话自己拿到 bitmap 改颜色也行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/232174

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX