如何将通知图标设置为大

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); 还是没有进展

以上是关于如何将通知图标设置为大的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Imageview 设置通知图标

如何在右侧创建通知\状态栏图标?

eclipse 中图标栏如何设置大小

如何通过仅具有此图片URL的毕加索将图片添加到通知大图标中?

如何删除通知栏无效图标(重置任务栏通知区域)

Expo - 实施通知设置应用程序图标徽章编号