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

278 篇文章 5 订阅
252 篇文章 4 订阅

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

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"));
}

————————————————
版权声明:本文为CSDN博主「唐诺」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhijiandedaima/article/details/125007616

在编程中,特别是在Android应用开发中,设置通知(Notification)的图标通常涉及到指定一个图标资源,这样在通知显示时,用户可以看到这个图标。以下是一个基本的步骤指南,介绍如何在Android中设置通知图标: 1. 准备图标资源:首先,需要准备一个图标图片,该图片应以PNG格式保存,并放置在项目的`res/drawable`目录下。确保图标尺寸适合显示在通知栏中。 2. 设置图标:在创建通知时,可以使用`Builder`类的`setSmallIcon()`方法来设置小图标,这个图标会出现在通知栏和通知的展开视图中。同时,也可以使用`setLargeIcon()`方法来设置大图标,这个图标通常出现在通知的展开视图中。 例如,在Android中设置通知图标可能如下所示: ```java NotificationCompat.Builder builder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.notification_icon) // 设置小图标 .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.notification_icon)) // 设置大图标 .setContentTitle("通知标题") .setContentText("这里是通知的内容") .setDefaults(Notification.DEFAULT_ALL) .setAutoCancel(true); NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(notificationId, builder.build()); ``` 在上面的代码中,`R.drawable.notification_icon`是一个指向资源文件夹中图标的引用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值