如何在 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 状态栏?