Android如何添加双通知图标?现有代码仅显示单个图标求解
在Android通知中添加第二个图标的解决方案
嘿,我来帮你搞定这个问题!你目前用setSmallIcon()设置的是状态栏里显示的小图标,而你想要的第二个图标,应该是下拉通知栏后在通知详情区域显示的大图标(Large Icon)——就是通常在通知标题左侧的那个更大的图标。
具体实现步骤
- 首先准备好你要作为大图标的图片资源(建议尺寸为64x64dp,适配不同设备分辨率)
- 使用
setLargeIcon()方法来设置这个图标,注意这个方法需要传入Bitmap类型的对象,所以得先把Drawable资源转成Bitmap
完整代码示例
// 1. 设置状态栏小图标(必填项,否则通知可能无法正常显示) notification.setSmallIcon(R.drawable.badge); // 2. 设置小图标的背景色 notification.setColor(getResources().getColor(R.color.ic_launcher_background)); // 3. 转换大图标资源为Bitmap并设置 Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.your_large_icon); notification.setLargeIcon(largeIcon);
额外说明
setSmallIcon()是通知的必填项,系统会在状态栏和通知折叠状态下显示这个小图标setLargeIcon()设置的图标只会在通知展开后的详情区域显示,和小图标形成“双图标”的展示效果- 如果你的需求是在通知里显示多个独立图标(比如聊天通知里的多个联系人头像),那可以尝试使用
Notification.MessagingStyle或者自定义通知布局,但如果只是需要第二个主图标,上面的方法就完全够用啦
内容的提问来源于stack exchange,提问作者Sashi




