通知颜色图标在棒棒糖中不可见,它只显示白色背景

时间:2017-08-18 12:09:43

标签: android notifications

如何在不将目标sdk版本减少到20的情况下显示通知图标。 我的通知图标是颜色图标,而不是透明。我使用下面的代码,但它不工作在Lollipop的情况下。它只显示白色背景。

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    builder.setSmallIcon(R.drawable.icon_colour);
} else { 
    builder.setSmallIcon(R.drawable.icon_colour);
}

1 个答案:

答案 0 :(得分:0)

  

Android Lollipop通知图标应以白色显示   风格。

There is a documentation for "Android 5.0 behavior changes"

  

通知在白色背景上以深色文字绘制(或非常   light)以匹配设计材料的新小部件。

此文档还建议您使用将显示在(白色)通知图标后面的颜色,其中显示:

  

使用setColor()在图标后面的圆圈中设置高亮颜色   图像。

您的解决方案应针对每个Android版本使用不同的规则,您已使用android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP

尝试使用以下内容更新您的答案:

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    builder.setSmallIcon(R.drawable.icon_no_colour);
    build.setColor(R.color.icon_background_color);
} else { 
    builder.setSmallIcon(R.drawable.icon_colour);
}

setColor() documentantion