【问题标题】:How to support multiple colors (more than two color) for Android Notification icon?Android通知图标如何支持多种颜色(两种以上颜色)?
【发布时间】:2019-10-10 06:24:20
【问题描述】:
  1. 我正在开发 Android 应用程序(API 级别 >23)。我必须 支持通知
  2. 而且我的通知图标支持两种以上的颜色。
  3. 如果我使用该图标,则图标在通知中显示为灰色 面板。
  4. 所以我创建了背景透明和完全白色的图标 并动态设置颜色。

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

所以我的问题是:-

Android通知图标如何支持多种颜色(两种以上颜色或颜色渐变)? 注意:- 我参考了Android Push Notifications: Icon not displaying in notification, white square shown instead

提前感谢您的支持。

【问题讨论】:

    标签: android apple-push-notifications material-design androiddesignsupport android-notification-bar


    【解决方案1】:

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

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

    您无法控制上述颜色以外的颜色。

    但您可以使用 Alpha 通道。您可以在图标中实现不同程度的白色/深灰色/颜色。

    不,没有其他办法。将此传递给您的设计师和管理层。

    Android 5.0 行为变化

    通知

    材质设计风格

    • 更新或删除涉及颜色的资产。系统会忽略操作图标和主通知图标中的所有非 Alpha 通道。您应该假设这些图标仅是 Alpha 版。系统以白色绘制通知图标,以深灰色绘制操作图标。

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

    【讨论】:

    • @AlokMishra 您引用了另一个问题,该问题有一个公认的答案,并且该答案是 Google 官方文档的链接。我不得不再次链接到同一件事并不能使它变得更有效。规则定了,真的是官方的,处理吧。为方便起见,这是链接:developer.android.com/about/versions/…
    • 感谢您的回答 :) 最后设计 n 产品团队同意您的解决方案。
    • @EugenPechanec 但有些应用可以设置不同颜色的通知图标。例如多米诺骨牌..如果不可能,那么他们如何实现呢?因为我也想设置不同颜色的通知图标
    • 发送链接,有一百万多米诺骨牌。只有针对最多 SDK 19 的应用程序才会有彩色通知图标。这些应用也不会被允许进入 Play 商店,这需要目标 SDK 在 28 左右。
    • @EugenPechanec stackoverflow.com/q/62422988/11630822 这是我的堆栈问题..这里我添加了我的 android 手机中的多米诺骨牌截图(饼版)
    【解决方案2】:

    通知

    确保您的通知将这些 Android 5.0 更改考虑在内。要详细了解如何为 Android 5.0 及更高版本设计通知,请参阅通知设计指南。

    材质设计风格

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

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

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

    【讨论】:

    • 这是通知的先决条件,但如何设置多种颜色,这就是 OP 的要求?
    • 在构建通知时,Notification.Builder 包含设置图标的方法
    • 我的问题是如何在通知图标中设置多种颜色,而不是关于通知或 setIcon() 的基本设置
    • 如果您有多个不同颜色的图标,您可以轻松地创建一种方法,在将图标设置为通知时返回通知类型的好图标变体? builder.setSmallIcon(getGoodColorIcon())
    • 您能否在通知图标中创建任何可以在 Android-O 中使用的颜色超过 2 种颜色的示例?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 2023-03-14
    • 1970-01-01
    • 2015-07-05
    • 2018-02-03
    • 2018-05-24
    • 2022-10-16
    相关资源
    最近更新 更多