在bigpicture样式通知中调整图像大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在bigpicture样式通知中调整图像大小相关的知识,希望对你有一定的参考价值。
我想使用构建器样式大图(而不是使用自定义视图)在我的通知中显示图像。图像即将被裁剪。如何根据屏幕比例显示不同设备的正确图像?
我已经搜索过,我已经知道我们需要根据屏幕宽度缩放图像来显示通知,但是我无法实现这一点,并且对ppi,dpi和为图像提供的所有其他格式感到困惑。请任何人都可以根据屏幕大小向我提供转换位图的代码,以便在不同的设备上以适当的格式显示?
答案
这是扩展接收位图的方法,其中第二个和第三个参数分别是宽度和高度
Bitmap b = Bitmap.createScaledBitmap(receivedBitmap, 120, 120, false);
如果要根据宽度保持纵横比进行缩放,请执行此操作
public Bitmap getResizedBitmap(Bitmap bm, int width ) {
float aspectRatio = bm.getWidth() /
(float) bm.getHeight();
height = Math.round(width / aspectRatio);
Bitmap resizedBitmap = Bitmap.createScaledBitmap(
bm, width, height, false);
return resizedBitmap;
}
并使用缩放位图生成通知,使用此
NotificationManager notificationManager = (NotificationManager)
mContext.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification.Builder(mContext)
.setContentTitle("set title")
.setContentText("Swipe Down to View")
.setSmallIcon(mContext.getApplicationInfo().icon)
.setLargeIcon(receivedBitmap)
.setContentIntent(pendingIntent)
.setDefaults(Notification.DEFAULT_SOUND)
.setStyle(new Notification.BigPictureStyle()
.bigPicture(b))
.setPriority(Notification.PRIORITY_HIGH)
.setVibrate(new long[0])
.build();
以上是关于在bigpicture样式通知中调整图像大小的主要内容,如果未能解决你的问题,请参考以下文章