根据上下文更改Android小通知图标颜色

时间:2017-11-20 04:29:59

标签: android notifications

我一直在寻找堆栈溢出几天找到这个问题的答案,但我无法弄明白我的生活: - /

在我的带有Android O的Samsung S6上,像Gmail这样的应用程序会在状态栏中显示白色通知,但是当您拉下通知以单独检查时,会显示红色/蓝色/绿色/任何通知。例如,请参阅附带的照片 - 显示通知时为红色,通知栏中为白色。

必须采用什么类型的程序化Android魔法来实现这一目标?更具体地说,在Notification.Builder中,我需要设置哪些值才能以这种方式显示它?有两个不同的图标吗?是否有一个多层的drawable?如果是这样,如何选择在哪里显示哪些图层?谢谢!

beautiful red color for gmail stark white color for gmail

1 个答案:

答案 0 :(得分:3)

首先,我们应该使用lefthalf = alist[:mid].copy() righthalf = alist[mid:].copy()

第二,这是实现该行为的代码

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