【问题标题】:Change Android small notification icon color depending on context根据上下文更改 Android 小通知图标颜色
【发布时间】:2018-05-03 06:19:52
【问题描述】:

几天来我一直在搜寻堆栈溢出以找到这个问题的答案,但我终其一生都无法弄清楚:-/

在我的带有 Android O 的三星 S6 上,Gmail 等应用程序在状态栏上显示白色通知,但当您将通知拉下以单独检查它们时,会显示红色/蓝色/绿色/任何通知。例如,查看附加的照片 - Gmail 显示通知时为红色,通知栏中为白色。

必须执行哪种类型的程序化 Android 魔法才能完成此任务?更具体地说,在 Notification.Builder 中,我需要设置哪些值才能使其以这种方式显示?有两个不同的图标吗?是否有一个具有多个图层的可绘制对象?如果是这样,如何选择在哪里显示哪些图层?谢谢!

【问题讨论】:

  • 据我所知,在 gmail 的情况下,不仅颜色是改变的属性,它可能是两个明确定义的功能,一个用于分组通知,另一个用于单个邮件的彩色

标签: android notifications


【解决方案1】:

首先,我们应该使用NotificationCompat.Builder

其次,这是获得该行为的代码

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context, "NOTIFICATION_CHANNEL_NAME")
            .setSmallIcon(R.drawable.notification_icon)
            .setContentTitle(title)
            .setContentText(message)
            .setColor(ContextCompat.getColor(context, R.color.your_color))
            .setContentIntent(pendingIntent);

还有还有一点,您使用的图标 (R.drawable.notification_icon) 应该是白色的并且应该有一点不透明度(应该只是有点透明)。之后,您的顶部通知图标将变为白色,当您绘制通知时,它将变为R.color.your_color

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多