根据上下文更改Android小通知图标的颜色
为了找到这个问题的答案,我已经搜索了好几天了,但我一辈子都无法找到答案:-/ 在我的三星S6和Android O上,像Gmail这样的应用程序在状态栏上有白色的通知,但当你把通知拉下来单独检查时,会有红色/蓝色/绿色/任何通知。例如,请参阅附件中的照片-显示通知时,Gmail为红色,通知栏中为白色 要做到这一点,一个人必须做什么样的Android编程魔法?更具体地说,在Notification.Builder中,我需要设置哪些值才能使其以这种方式显示?有两个不同的图标吗?是否有一个可绘制的多层?如果是,如何选择在哪里显示哪些层?谢谢根据上下文更改Android小通知图标的颜色,android,notifications,Android,Notifications,为了找到这个问题的答案,我已经搜索了好几天了,但我一辈子都无法找到答案:-/ 在我的三星S6和Android O上,像Gmail这样的应用程序在状态栏上有白色的通知,但当你把通知拉下来单独检查时,会有红色/蓝色/绿色/任何通知。例如,请参阅附件中的照片-显示通知时,Gmail为红色,通知栏中为白色 要做到这一点,一个人必须做什么样的Android编程魔法?更具体地说,在Notification.Builder中,我需要设置哪些值才能使其以这种方式显示?有两个不同的图标吗?是否有一个可绘制的多层?
首先,我们应该使用
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_图标
)应该是白色的,并且应该有一点不透明(应该是透明的)。在此之后,您的顶部通知图标将为白色,当您绘制通知时,它将变为R.color。您的_color
从我可以得出的结论是,对于gmail,不仅颜色是更改的属性,它可能是两个不同定义的功能,一个用于分组通知,另一个用于单个邮件。请参见