我正在尝试在通知中显示小图标。尝试了几个扩展。 JPG,BMP,PNG,SVG。
活动正在运行时会显示小图标,但活动未运行时它不会在通知中显示小图标。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_success);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setLargeIcon(bitmap)
.setStyle(new NotificationCompat.BigPictureStyle()
.bigPicture(bitmap))
.setSmallIcon(R.mipmap.ic_launcher_round)
.setContentTitle(notification.getTitle())
.setContentText(notification.getBody())
.setAutoCancel(true)
.setContentIntent(pendingIntent);
我希望在通知的右侧看到该图像。 我已经将这些文件放在了drawable和mipmap中,没有结果。
答案 0 :(得分:0)
您尝试过使用完美的正方形图像吗?我的意思是,宽度和高度相同。 也许是问题所在。
我展示了一个带有144x144 png图像的largeIcon,它的工作原理就像一个饰物。
答案 1 :(得分:0)
Android图标(和其他UI元素,如拖动长度)以dp为单位。 dp是与设备/密度无关的像素。 1 dp相当于160 dpi屏幕上的1 px。但是要转换为其他屏幕密度,您需要将其乘以密度因子。因此,通常建议为大多数图标提供多个图像。
例如,状态栏中使用的通知图标指定为24x24 dp,边距为1 dp(因此实际图标仅占用22x22 dp光学正方形,尽管有些AA可以渗入该1 dp保证金/安全框架)。要将24 dp转换为实际像素大小,请使用以下粗略计算:
display density dp units * scale = px units
ldpi ~120 dpi 24x24 dp * .75 = 18x18 px
mdpi ~160 dpi 24x24 dp * 1.0 = 24x24 px
hdpi ~240 dpi 24x24 dp * 1.5 = 36x36 px
xhdpi ~320 dpi 24x24 dp * 2.0 = 48x48 px
答案 2 :(得分:0)
请先尝试在样式上设置位图
NotificationCompat.BigPictureStyle样式=新的NotificationCompat.BigPictureStyle();
style.bigPicture(bitmap);
然后在上面使用上面的样式
setStyle(style)