创建自定义通知,android [英] Create custom notification, android

查看:21
本文介绍了创建自定义通知,android的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to create a notification that like the red bordered notification in this image:

我知道如何创建普通通知,例如此图像中的蓝色边框通知,但我想显示一个图标和该图标附近的大约 3 行信息.我怎样才能做到这一点?任何建议将不胜感激.

I know how to create normal notifications like the blue bordered notifications in this image, but I want to show an icon and about 3 lines of information near that. How can I do that? Any suggestion will be appreciated.

推荐答案

在通知中添加 RemoteViews.这是一个示例:

Add RemoteViews in notification. Here is a sample:

var remoteViews = new RemoteViews(getPackageName(), R.layout.widget);
var mBuilder = new NotificationCompat.Builder(this)
    .setSmallIcon(R.drawable.ic_launcher)
    .setContent(remoteViews);

// Creates an explicit intent for an Activity in your app
Intent resultIntent = new Intent(this, test.class);

// The stack builder object will contain an artificial back stack for
// the started Activity.
// This ensures that navigating backward from the Activity leads out of
// your application to the Home screen.
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);

// Adds the back stack for the Intent (but not the Intent itself)
stackBuilder.addParentStack(test.class);

// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);

PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
remoteViews.setOnClickPendingIntent(R.id.button1, resultPendingIntent);

var notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

// mId allows you to update the notification later on.
notificationManager.notify(100, mBuilder.build()); 

widget.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:orientation="horizontal">
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="DJ notification"
        android:textAppearance="?android:attr/textAppearanceMedium" />
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Close Me" />
</LinearLayout> 

查看这篇文章还有更多款式可用

check this article there is more style avaialbe

Android 开发者

NotificationCompat.Builder 是在所有 Android 版本上创建通知的最简单方法.您甚至可以使用 Android 4.1 提供的功能.如果您的应用在 Android >=4.1 的设备上运行,将使用新功能,如果在 Android <4.1 上运行,通知将是简单的旧通知.

对于 <11 API 使用 http://www.framentos.com/en/android-tutorial/2012/02/20/how-to-create-a-custom-notification-on-android/

for < 11 API use http://www.framentos.com/en/android-tutorial/2012/02/20/how-to-create-a-custom-notification-on-android/

这篇关于创建自定义通知,android的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆