Android 通知图标如何支持多种颜色(多于两种颜色)?

How to support multiple colors (more than two color) for Android Notification icon?

  1. 我正在开发 Android 应用程序(API 级别 >23)。我必须 支持通知.
  2. 而我的通知图标支持两种以上颜色。
  3. 如果我使用该图标,则该图标在通知中显示为灰色 面板。
  4. 所以我创建了背景透明和完全白色的图标 并动态设置颜色。

  5. 但我只能设置一种颜色 (setColor())。

所以我的问题是:-

如何为Android通知图标支持多种颜色(多于两种颜色或颜色渐变)? 注意:- 我参考了

在此先感谢您的支持。

通知

确保您的通知考虑了这些 Android 5.0 更改。要了解有关为 Android 5.0 及更高版本设计通知的更多信息,请参阅通知设计指南。

Material设计风格

通知在白色(或非常浅的)背景上用深色文本绘制,以匹配新的 material 设计小部件。确保您的所有通知在新配色方案下看起来都正确。如果您的通知看起来有误,请修复它们:

  • 使用 setColor() 在图标图像后面的圆圈中设置强调色。
  • 更新或删除涉及颜色的资产。系统会忽略操作图标和主通知图标中的所有非 alpha 通道。您应该假设这些图标将仅显示 alpha。系统以白色绘制通知图标,以深灰色绘制操作图标。

来自: https://developer.android.com/about/versions/android-5.0-changes.html#NotificationsMaterialDesignStyle

如果您的应用针对 SDK 21+ 系统将始终为您的通知图标着色

  • 在深色状态栏中显示为白色
  • 在浅色状态栏上显示时为深灰色(API 23+)
  • 折叠在通知栏底部时呈深灰色
  • 当它是通知栏中通知的一部分时您设置的颜色(API 24+,在此之前您会在彩色圆圈上有一个白色图标作为默认的大通知图标)

除上述颜色外,您无法控制其他颜色。

但是你可以使用alpha通道。你可以在你的图标中实现不同程度的white/dark grey/color。

不行,别无他法。转告你的设计师和管理层。

Android 5.0 Behavior Changes

Notifications

Material design style

  • Update or remove assets that involve color. The system ignores all non-alpha channels in action icons and in the main notification icon. You should assume that these icons will be alpha-only. The system draws notification icons in white and action icons in dark gray.

来源:https://developer.android.com/about/versions/android-5.0-changes.html#NotificationsMaterialDesignStyle