我的问题不是关于如何创建白色图标。
我只是想了解何时自动白色滤镜会触发。
我读过通知图标,从棒棒糖(Lollipop)开始,自动变成白色的“剪影”,因此,即使您使用带有setSmallIcon
的多彩图像,其中任何非透明部分在状态栏中显示时都会完全变为白色。
这正是我在从android studio启动的每个nexus/pixel模拟器上看到的实际情况。在5、6、7、8等任何安卓版本中都是如此。
但是,直到最近我才发现这个棒棒糖特性,因为整个时间里,甚至现在,在真正的设备上加载完全相同的应用程序时,我始终在状态栏中看到原始的多彩图像。这在三星s5neo、华为p8lite和许多其他手机上都发生。
我问了我的用户,显然有些人看到它们是白色的,而有些人则看到它们是彩色的。一些用奥利奥(Oreo)的人看到它们是白色的,而另一些用奥利奥的人看到它们是彩色的。似乎这也取决于我使用哪个特定图标,因为一些用户报告说他们在完全相同的设备上看到其中一些是白色的,而另一些则是彩色的。
我使用setSmallIcon
和我的ic_launcher
,所以从资源中应用它,或者从一些来自外部源的Drawable创建Icon
对象。
我将人物像素图像用作图标,因此当我说彩色时,我并不是指“绿色的东西”,而是真正多彩的图像。
我的应用程序目标sdk版本为27,同时使用一些奥利奥功能。
那么,发生了什么事?我到处都看到它应该在任何>=棒棒糖(Lollipop)设备上做剪影,但显然这还不是全部内容需要了解的,我想更好地理解。 例如,如果我有sdk目标为27,则我的奥利奥用户如何看到使用setSmallIcon设置的多彩图像? 请有人解释一下吗?谢谢!