状态栏和主要通知的单独通知图标

3
我知道如何构建通知,我的问题是如何在状态栏中使用不同的图标,并在展开时更改图标的背景。请参见下面的图片,它很容易理解。谢谢您的帮助。 enter image description here 如何为小图标在展开时获取蓝色背景?谢谢!

尝试使用setColor():http://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html#setColor%28int%29 - CommonsWare
你能提供一些代码吗?非常感谢你的帮助。 - Sarthak Mishra
nb.setColor(getResources().getColor(R.color.primary)) 使用此代码 - saeed
2个回答

1
使用此代码构建通知。
Notification.Builder nb = new Notification.Builder(context)
    .setContentTitle("title")
    .setContentText("content")
    .setAutoCancel(true)
    .setColor(ContextCompat.getColor(context, R.color.ANYCOLOR))
    .setLargeIcon(largeIcon)
    .setSmallIcon(small_icon)
    .setTicker(s.getText());
    NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
    nm.notify(100, nb.build());

在这段代码中,您需要替换小图标和大图标。

抱歉,我觉得你误解了我的问题... 我在询问通知展开时的背景颜色。 - Sarthak Mishra
尝试使用这个新的setColor方法。 - Raghav Satyadev

0
你可以使用以下代码设置颜色: .setColor(getResources().getColor(R.color.yourcolor)) 完整的代码如下:
Notification.Builder nb = new Notification.Builder(context)
    .setContentTitle("title")
    .setContentText("content")
    .setAutoCancel(true)
    .setColor(getResources().getColor(R.color.primary))
    .setLargeIcon(largeIcon)
    .setSmallIcon(small_icon)
    .setTicker(s.getText());
    NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
    nm.notify(100, nb.build());

希望这能对你有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接