我正在使用NotificationCompat.Builder创建通知。要设置它的大图标部分,我正在使用它:
bob = new NotificationCompat.Builder(context)
.setLargeIcon(bm)
.setAutoCancel(true)
.setSmallIcon(R.drawable.ic_launcher256)
.setContentTitle(context.getResources().getString(R.string.app_name))
.setContentText(message)
.setPriority(Notification.PRIORITY_HIGH);
smallicon显示正常,但在某些设备上,大图标会放大,因此会被裁剪。在其他设备上(很方便,所有我可以测试它的设备)它完美无缺。
我不知道此图标的大小有任何限制。它来自用户联系人列表,所以我无法控制那里的内容,虽然我想如果那是问题我可以调整大小/重新格式化。
我将继续调试这个(专注于获取位图的逻辑),但我想我会问,以防我忽略了一些(非)明显的东西。也许人们可以在他们的设备上设置不适合通知而没有预处理的联系人照片。
答案 0 :(得分:8)
它没有真正记录在案。 :(
您可以在base template layout中看到该图标只是在ImageView
android:scaleType="center"
中被扣好,所以任何大于该框的内容(@dimen/notification_large_icon_width
x {{1}只会因为溢出边界而被裁剪。
然后,从dimens.xml可以看出,答案是64x64dp。在发布通知之前,您需要相应地缩放位图。