创建自定义通知,android

创建自定义通知,android,android,notifications,Android,Notifications,我想创建一个类似于此图像中红色边框通知的通知: 我知道如何创建正常的通知,如图中的蓝色边框通知,但我想在其附近显示一个图标和大约3行信息。我该怎么做?如果您有任何建议,我们将不胜感激。可从Android 4.1开始提供,以处理这些场景。如果您使用的是NotificationCompat.Builder或NotificationCompat.Builder,则可以使用NotificationCompat.InboxStyle或其他样式之一,为扩展通知设置一个普通的Builder和一个单独的Bui

我想创建一个类似于此图像中红色边框通知的通知:


我知道如何创建正常的通知,如图中的蓝色边框通知,但我想在其附近显示一个图标和大约3行信息。我该怎么做?如果您有任何建议,我们将不胜感激。

可从Android 4.1开始提供,以处理这些场景。如果您使用的是
NotificationCompat.Builder
NotificationCompat.Builder
,则可以使用
NotificationCompat.InboxStyle
或其他样式之一,为扩展通知设置一个普通的
Builder
和一个单独的
Builder
,并将两者连接起来。

在通知中添加
remoteview
。以下是一个示例:

var remoteview=新的远程视图(getPackageName(),R.layout.widget);
var mBuilder=new NotificationCompat.Builder(此)
.setSmallIcon(R.drawable.ic_启动器)
.setContent(远程视图);
//为应用程序中的活动创建明确的意图
Intent resultent=新的Intent(这个,test.class);
//stack builder对象将包含一个用于
//活动已启动。
//这确保了从“活动”向后导航会导致
//您的应用程序将显示在主屏幕上。
TaskStackBuilder stackBuilder=TaskStackBuilder.create(此);
//为意图添加后堆栈(但不是意图本身)
addParentStack(test.class);
//将启动活动的意图添加到堆栈顶部
stackBuilder.addNextIntent(resultIntent);
PendingEvent ResultPendingEvent=stackBuilder.GetPendingEvent(0,PendingEvent.FLAG_UPDATE_CURRENT);
RemoteView.SetOnClickPendingContent(R.id.button1,ResultPendingContent);
var notificationManager=(notificationManager)getSystemService(Context.NOTIFICATION\u服务);
//mId允许您稍后更新通知。
notificationManager.notify(100,mBuilder.build());
widget.xml


检查此项,有更多款式可供选择

编辑:
NotificationCompat.Builder是在所有Android版本上创建通知的最简单方法。您甚至可以使用Android 4.1提供的功能。如果您的应用程序在Android>=4.1的设备上运行,那么将使用新功能,如果在Android上运行,谢谢,代码不错,但正如您提到的,这是针对API>11的。但我希望我的应用程序在API>7上运行。是否可以处理单击或使用自定义视图?类似于MyBTN类的东西扩展了RelativeLayout{…}@DhawalSodhaParmar:如何删除底部区域的额外填充,这在您的应用程序中也是可见的screenshot@DhawalSodhaParmar:嗨,有没有解决填充问题的方法?@Erick:Sagar,我已经做过了。它在某些设备上不起作用。谢谢,有链接或教程吗?@Reza_Rg: