如何在 Android 通知中添加这么大的图标?

Posted

技术标签:

【中文标题】如何在 Android 通知中添加这么大的图标?【英文标题】:How to add such large icon to the Android notification? 【发布时间】:2018-12-06 12:33:41 【问题描述】:

我为最新的android P设计了这样的通知

对于此通知,我需要在右侧添加蓝色用户图标。你能告诉我如何实现这一目标吗?是否可以使用 NotificationBuilder 的 setter 方法之一?我需要为此通知编写自定义布局吗?

【问题讨论】:

在创建通知时有两个属性:setSmallIcon(左上)和 setLargeIcon(右)。您可以使用 setLargeIcon 来设置 userIcon。 看到这可能对你有帮助***.com/questions/41888161/… 【参考方案1】:

您必须使用自定义布局通知以覆盖默认配置。

    使用 NotificationCompat.Builder 构建基本通知。 调用 setStyle(),将 NotificationCompat.DecoratedMediaCustomViewStyle 的实例传递给它。 将您的自定义布局扩展为 RemoteViews 的实例。 调用 setCustomContentView() 来设置折叠通知的布局。

或者,也可以调用 setCustomBigContentView() 为展开的通知设置不同的布局。

例子:

// Get the layouts to use in the custom notification
RemoteViews notificationLayout = new RemoteViews(getPackageName(), 
R.layout.notification_small);
RemoteViews notificationLayoutExpanded = new RemoteViews(getPackageName(), 
R.layout.notification_large);

// Apply the layouts to the notification
Notification customNotification = new NotificationCompat.Builder(context, CHANNEL_ID)
    .setSmallIcon(R.drawable.notification_icon)
    .setStyle(new NotificationCompat.DecoratedCustomViewStyle())
    .setCustomContentView(notificationLayout)
    .setCustomBigContentView(notificationLayoutExpanded)
    .build();

关注this了解详细信息

【讨论】:

【参考方案2】:

在您的构建器上添加此行

.setLargeIcon(BitmapFactory.decodeResource(context.resources , R.drawable.your_image))

【讨论】:

以上是关于如何在 Android 通知中添加这么大的图标?的主要内容,如果未能解决你的问题,请参考以下文章

Android 通知:如何在顶行中包含额外的文本

我们可以为 FCM 中的通知徽章图标使用多大的尺寸?

如何在不创建通知的情况下将图标添加到 Android 状态栏?

如何在 Android + GCM 中获得带有声音 + 自定义应用程序图标的推送通知

在代号应用程序中添加 android 推送通知图标

推送通知图标 Android