Android 在棒棒糖和安卓M中,如何显示适当的通知小图标是无法显示的
我正在创建一个应用程序,我能够正确地显示通知,但是小图标没有显示出来,正如我在drawable文件夹中提到的,图标被白色遮住了。有人能帮我吗?我怎样才能使图标正确显示 以下是我的通知代码:Android 在棒棒糖和安卓M中,如何显示适当的通知小图标是无法显示的,android,android-5.0-lollipop,android-notifications,Android,Android 5.0 Lollipop,Android Notifications,我正在创建一个应用程序,我能够正确地显示通知,但是小图标没有显示出来,正如我在drawable文件夹中提到的,图标被白色遮住了。有人能帮我吗?我怎样才能使图标正确显示 以下是我的通知代码: nb = new NotificationCompat.Builder(context) .setContentTitle(contentTitle) .setContentText(contentText) .setSmallIcon(icon)
nb = new NotificationCompat.Builder(context)
.setContentTitle(contentTitle)
.setContentText(contentText)
.setSmallIcon(icon)
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.micon_notification))
.setWhen(when)
.setContentIntent(contentIntent)
.setAutoCancel(true)
.setOnlyAlertOnce(true)
.setTicker(tickerText)
.setColor(Color.RED);
drawable中提到的图标如下所示:
[1]: http://i.stack.imgur.com/ggYCY.png
图像中出现的完全红色正在消失,图标显示为完全白色。欢迎所有建议。这是Android用来显示通知图标的代码:
if (entry.targetSdk >= Build.VERSION_CODES.LOLLIPOP) {
entry.icon.setColorFilter(mContext.getResources().getColor(android.R.color.white));
} else {
entry.icon.setColorFilter(null);
}
为此,你必须使图标一样的剪影,并使一些部分透明,无论你想添加你的颜色
您可以使用添加颜色
.setColor(your_color_resource_here)
注意:setColor仅在棒棒糖中可用,因此,您必须检查OSVersion
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
Notification notification = new Notification.Builder(context)
...
} else {
// Lollipop specific setColor method goes here.
Notification notification = new Notification.Builder(context)
...
notification.setColor(your_color)
...
}
if(android.os.Build.VERSION.SDK\u INT
查看文档:
有几个词:
通知图标必须完全为白色。此外,系统可能会扩展
向下和/或使图标变暗。”
我希望有帮助 我使用了设置颜色,它将颜色添加到图标的背景中,而不是使用setcolor方法。在icon.setColorFilter中,什么是条目??是setcolor用于更改背景颜色。你必须为棒棒糖设计不同的图标,如上图所示。在预棒棒糖版本上,您可以使用现有图标。你也可以点击图标链接。这只是安卓的源代码,向你解释安卓本身将棒棒糖过滤器设置为白色,这就是为什么你现有的图标在棒棒糖圈中显示为白色的原因是链接:关于安卓棒棒糖通知更改