我正在经历 通知”设计模式,但没有发现任何有关通知图标背景的内容。您可能已经注意到,自定义通知只有浅灰色的背景。但是环聊或简单的USB调试通知等应用的通知图标背景具有自定义颜色。
是否有可能将灰色更改为其他颜色?(以编程方式指定特定圆圈的颜色)
我正在经历 通知”设计模式,但没有发现任何有关通知图标背景的内容。您可能已经注意到,自定义通知只有浅灰色的背景。但是环聊或简单的USB调试通知等应用的通知图标背景具有自定义颜色。
是否有可能将灰色更改为其他颜色?(以编程方式指定特定圆圈的颜色)
Answers:
int color = 0xff123456;
int color = getResources().getColor(R.color.my_notif_color);
int color = ContextCompat.getColor(context, R.color.my_notif_color);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
...
builder.setColor(color);
Notification notif = builder.build();
仅在棒棒糖上尊重颜色,并且仅影响小图标的背景。如果显示一个大图标,则其内容完全由您负责。
LOLLIPOP
。2)这不会影响您在中提供的图像setLargeBitmap
。它仅上色小图标背景。
如果您在colors.xml中定义了颜色,则在NotificationBuilder中将值添加为
.setColor(getResources().getColor(R.color.<YOUR_COLOR>))
那应该解决您的问题。它仅影响图标的背景。
getColor(int)
已于弃用 Resources
现在,我们应该使用以下替代方法之一:
Resources
的getColor(int,Theme)ContextCompat
的getColor(Context context,int id)