如何将通知图标设置为大
Posted
技术标签:
【中文标题】如何将通知图标设置为大【英文标题】:how can i set my notification icon large 【发布时间】:2017-06-20 05:38:19 【问题描述】:我正在尝试将通知图标变大,但它仍然无法正常工作。我的设备正在使用 Marshmallow。谁能告诉我怎样才能使它成为可能。
在我的图片中,chankyastudent 有一个通知图标,它没有完全显示,只有一半显示我希望它应该完全显示在图标区域中。 谁能告诉我。 提前致谢
【问题讨论】:
您可以在生成通知的位置分享您的代码吗?? 查看***.com/a/7222442/1744538 检查您在 Pre lollipop 设备中的通知图标。我认为这是操作系统问题 【参考方案1】:使用通知大图标的尺寸来创建缩放位图
BitmapDrawable contactPicDrawable = (BitmapDrawable) ContactsUtils.getContactPic(mContext, contactId);
Bitmap contactPic = contactPicDrawable.getBitmap();
Resources res = mContext.getResources();
int height = (int) res.getDimension(android.R.dimen.notification_large_icon_height);
int width = (int) res.getDimension(android.R.dimen.notification_large_icon_width);
contactPic = Bitmap.createScaledBitmap(contactPic, width, height, false);
将此缩放位图设置为 largeIcon 它将解决您的问题。
【讨论】:
【参考方案2】:首先:它不是来自棉花糖,通知图标开始变成白色或显示一半来自棒棒糖本身。
结帐http://developer.android.com/design/style/iconography.html 您会看到白色样式是通知在Android Lollipop 中的显示方式。
在 Android Lollipop 中,Google 还建议您使用将显示在(白色)通知图标后面的颜色 - https://developer.android.com/about/versions/android-5.0-changes.html
你需要检查你的sdk平台是否大于等于23.0.0
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.Marshmallow)
notificationBuilder.setSmallIcon(R.drawable.logo);
notificationBuilder.setLargeIcon(BitmapFactory.decodeResource(getApplicationContext().getResources(), R.mipmap.logo));
【讨论】:
我已经尝试过了,但它仍然无法正常工作,我得到了一半的图像 @Sushil 好的,请不要检查 SDK 条件并使用下面的代码Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); NotificationCompat.Builder builder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.ic_launcher) .setLargeIcon(largeIcon) .setContentText(data) .setContentTitle("Notification from Parse") .setContentIntent(pendingIntent);
还是没有进展以上是关于如何将通知图标设置为大的主要内容,如果未能解决你的问题,请参考以下文章