【发布时间】:2018-05-15 12:40:24
【问题描述】:
我的问题不在于如何创建白色图标。
我只是想了解自动白色滤镜何时启动。
我已经阅读了通知图标,从 Lollipop 开始,它会自动变成白色的“剪影”,所以即使你使用带有setSmallIcon 的多色图像,它的任何不透明部分在状态显示时都会变成全白吧。
这正是它在我从 android studio 开始的每个 nexus/pixel 模拟器上实际所做的。任何 android 版本,在 5、6、7、8 中,都会这样做。
但实际上直到最近我才发现这个棒棒糖功能,因为一直以来,甚至现在,通过在真实设备上加载完全相同的应用程序,我总是看到原始的多色状态栏中的图像。这发生在三星 s5neo、华为 p8lite 和许多其他设备上。
我问过我的用户,显然有些人认为他们是白色的,有些人认为他们是彩色的。一些奥利奥的人看到它们是白色的,一些奥利奥的人看到它们是彩色的。这似乎还取决于我使用的特定图标,因为有些用户报告说他们在同一台设备上看到,其中一些是白色的,一些是彩色的。
我与setSmallIcon 一起使用我的ic_launcher,因此从资源中应用它,或者从我从外部来源获得的一些Drawables 创建的Icon 对象。
而且我使用像素化的字符精灵作为图标,所以当我说彩色时,我并不是指“绿色的东西”,而是指真正彩色的图像。
我的应用有 sdk target 27,它还使用了一些 oreo 功能。
那么,发生了什么事?我到处读到它应该在任何 >=lollipop 设备上做剪影,但这显然不是所有关于它的知识,我想更好地理解。 例如,如果我的 sdk 目标为 27,我的 oreo 用户如何才能看到使用 setSmallIcon 设置的彩色图像? 有人可以解释吗?谢谢!
【问题讨论】:
-
如果您在 API 21 或更高版本上运行您的应用程序,那么它只会在通知中显示彩色图标。
-
@nirmal 说的行为发生在 android 5、6、7 和 8 上,所有这些
-
是 API 21 或更高版本等同于 android 5 , 6 , 7 和 8。见developer.android.com/guide/topics/manifest/…
-
@nirmal 是的,我知道。但是从 api 21 开始,图标应该会自动转换为白色。你说的不是相反吗?
标签: android notifications icons android-5.0-lollipop statusbar