Android5.0之后Notification小图标异常

Android5.0之后,谷歌为了使通知栏图标更加统一,小图标必须使用一张背景镂空只包含黑白两色的透明图片才能正常显示。
如果使用图片不正确,则会出现显示异常,小图标会变成一个白块。

举个栗子

Android5.0之后Notification小图标异常_第1张图片

简单的建一个项目,弹出一个通知:

NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                NotificationCompat.Builder builder = new NotificationCompat.Builder(MainActivity.this);
                builder.setContentTitle("Notification Test")
                        .setContentText("This is a Notification")
                        .setSmallIcon(R.mipmap.ic_launcher)
                        .setLargeIcon(BitmapFactory.decodeResource(MainActivity.this.getResources(), R.mipmap.ic_launcher));
                manager.notify(0, builder.build());

大小图标都是ic_launcher,项目默认的图标,是背景透明的,做Android的都见过,长这样:

ic_launcher.png

在API23测试通知显示正常:

Android5.0之后Notification小图标异常_第2张图片
2017062401.png
Android5.0之后Notification小图标异常_第3张图片
2017062402.png

当把图片换成不透明的彩色图片:

Android5.0之后Notification小图标异常_第4张图片
2017062405.png

随机截的图[麻朵姑娘]
大图标正常,小图标变成小白块:

Android5.0之后Notification小图标异常_第5张图片
2017062403.png
Android5.0之后Notification小图标异常_第6张图片
2017062404.png

so,是时候让你的UI小姐姐给自己做张背景镂空的黑白logo了

你可能感兴趣的:(Android5.0之后Notification小图标异常)