我的问题不是如何创建白色图标。
我只想了解WHEN,确切地说,自动白色过滤器会启动。
我已阅读通知图标,从Lollipop开始,自动变为白色'轮廓',因此即使您使用带有setSmallIcon
的彩色图像,任何非透明部分在显示时都会变为全白色状态栏。
这正是它在我从android studio开始的每个nexus / pixel模拟器上实际做的事情。任何Android版本,包括5,6,7,8,这样做。
但直到最近我才发现这个棒棒糖功能,因为所有这些,甚至现在,通过在真实设备上加载完全相同的应用程序,我总是看到原来的多色状态栏中的图像。这发生在三星s5neo,huawei p8lite和许多其他人身上。
我问过我的用户,显然有些人看到他们是白色的,有些人看到他们有色。有些奥利奥看到它们是白色的,有些用奥利奥看到它们是彩色的。它似乎还取决于我使用的具体图标,因为有些用户报告他们看到,在同一台设备上,其中一些是白色的,有些是彩色的。
我使用setSmallIcon
我的ic_launcher
,因此从资源中应用它,或者从我从外部来源获得的某些Drawable创建的Icon
个对象。
而且我使用pixeled sprites of characters作为图标,所以当我说彩色时我不是指“绿色的东西”,我的意思是一个非常丰富多彩的图像。
我的应用有sdk目标27 ,它还使用了一些oreo功能。
那么,发生了什么?我到处都读到它应该在任何> =棒棒糖设备上做剪影,但显然不是所有人都知道它,我想要更好地理解。 例如,如果我有sdk目标27,我的奥利奥用户怎么能看到用setSmallIcon设置的多彩图像? 谁能解释一下?谢谢!
答案 0 :(得分:1)
使用白色像素和Alpha通道as documented创建通知图标,您将获得一致的结果。
一些设备制造商对Android进行修补。对于一些人来说,显然,修修补补包括支持非标准通知图标。提前知道哪些设备(10,000多个型号中的设备)会出现这种行为,你没有办法。
如果设备制造商雇用您构建应用程序,或者希望从您那里获得应用程序许可,您可以询问他们的通知图标政策并进行调整以利用他们提供的任何内容。