18

Jelly Bean 添加了对可扩展状态通知的支持。根据http://developer.android.com/about/versions/jelly-bean.html

除了模板样式之外,您还可以使用任何远程视图创建自己的通知样式。

如何做到这一点?我相信要做到这一点,您需要创建一个自定义Notification.Style。这是一个抽象类,所以我需要对其进行扩展。我找不到任何关于哪些部分需要扩展的文档。

这个SO question提供了一个很好的例子,说明如何将 notificaiton.builder 用于基本通知,我以此为起点。添加

.setContent(new RemoteViews(getPackageName(), R.layout.notification)) 

为基本通知添加自定义视图,但不可扩展。

4

2 回答 2

26

您需要创建自己的RemoteViews,然后表明您希望扩展内容继承您的自定义RemoteViews

 RemoteViews expandedView = new RemoteViews(YOUR CONTEXT.getPackageName(), YOUR CUSTOM LAYOUT);
 Notification notification = mBuilder.build();
 notification.bigContentView = expandedView;

请注意,这bigContentView就是您要查找的内容。mBuilder是一个Notification.Builder对象。

于 2012-09-12T05:01:31.430 回答
13

这里有一个很好的教程,关于如何做到这一点以及如何创建自己的布局。

在此处输入图像描述

基本上,您需要使用您的布局创建一个 remoteView,然后在 Notification 对象中将其设置为 bigContentView。顺便说一句,确保您还添加了调节器 contentView,因为操作系统在某些情况下会使用较小的 contentView。

于 2012-09-14T20:14:26.773 回答