如何在不将目标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);
}
答案 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);
}