Android Notification设置的小图标显示的是小方块

方法一 (修改图标的尺寸和大小) (无效):

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
   .setSmallIcon(R.drawable.abc)
   .setContentTitle("aaaaa")
   .setContentText("bbbbbb")
   .setLargeIcon(abcd);

调用了setSmallIcon()方法,但是通知栏显示时的小图标是个方块,不是我们设置的图标;

解决:图标大小限制在20kb以内。 (无效

排查技巧:

设置的图标过大时,AndroidStudio预览时图片显示不出来;
在这里插入图片描述
换成小图标就可以正常显示了:
在这里插入图片描述
这个电话的小图标能显示,但是是灰色的,不是彩色的。(没有完全解决
在这里插入图片描述

方法二(有效):

在不同的版本使用不同的图标,在android 8.0以下,使用透明背景的图标,配上底色。

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
    builder.setSmallIcon(R.mipmap.launcher_icon);
} else {
	// 背景透明的图片,配上底色
    builder.setSmallIcon(R.mipmap.icon_notification)
            .setColor(Color.parseColor("#0972EE"));
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值