android 通知栏图标变白色方格

android5.0 之后通知栏图标都修改了,小图标不能含有RGB图层,也就是说图片不能带颜色,只能用白色的图片,否则显示的就成白色方格了。如下图
通知栏白色小方格
但是我发现使用纯色的图片也是可以的,但是会底层会滤掉颜色变成白色内容。
这里写图片描述
这里写图片描述
知道问题就好修改了,5.0之后只能修改图标了。另一个办法就是将项目的targetSdkVersio改为21以下,就是5.0以下。新系统是兼容旧系统的,改为21以下,就能显示带有颜色的icon了。
下面说说通知消息的LargeIcon

        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
        Notification notification = builder
                .setContentTitle("Title")
                .setContentText("Content")
                .setSmallIcon(R.mipmap.ic2)
                .setLargeIcon(BitmapFactory.decodeResource(
                        getResources(), R.mipmap.ic_launcher))
                .build();
        manager.notify(1, notification);

smallIcon就是通知栏上面显示的小图标。
LargeIcon是下拉后显示的图标,看下图
通知栏下拉显示内容

那个机器人就是图片ic_launcher ,但是图片是没有包含右下角那个小图标的,右下角小图标是系统加的,小图标的图片就是smallIcon设置的icon。
可以看到小图标外面还有一圈灰色的外圈,这个颜色也是可以设置的,就是使用NotificationCompat.Builder 的serColor方法

        Notification notification = builder
           ...
                .setSmallIcon(R.mipmap.ic2)
                .setColor(Color.parseColor("#ff0000"))
                .setLargeIcon(BitmapFactory.decodeResource(
                        getResources(), R.mipmap.ic_launcher))
                .build();

结果如下图外圈变红色了:
更改小图标外圈颜色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值