2012-09-12 8 views
18

Jelly Bean hat Unterstützung für die erweiterbare Statusbenachrichtigung hinzugefügt. Nach http://developer.android.com/about/versions/jelly-bean.html:Benutzerdefinierte erweiterbare Benachrichtigungen in Jelly Bean (4.1)

Neben den Templat Designs, können Sie Ihre eigene Benachrichtigung Arten unter Verwendung eines beliebigen Remote-Ansicht erstellen können.

Wie geht das? Ich glaube, um dies zu tun, müssen Sie eine benutzerdefinierte erstellen. Es ist eine abstrakte Klasse, also muss ich es erweitern. Ich konnte keine Dokumentation darüber finden, welche Teile erweitert werden müssen.

Diese SO question gibt ein gutes Beispiel für die Verwendung der notificaiton.builder für grundlegende Benachrichtigungen, ich benutze dies als Ausgangspunkt. Hinzufügen

fügt eine benutzerdefinierte Ansicht für grundlegende Benachrichtigungen hinzu, aber es ist nicht erweiterbar.

Antwort

26

Sie müssen Ihre eigene RemoteViews erstellen und dann angeben, dass der erweiterte Inhalt Ihre benutzerdefinierte RemoteViews erben soll.

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

Beachten Sie, dass bigContentView ist, was Sie suchen. mBuilder ist ein Notification.Builder Objekt.

13

Es gibt ein gutes Tutorial here auf wie es geht und wie Sie Ihr eigenes Layout zu erstellen.

enter image description here

Grundsätzlich benötigen Sie einen Remoteview mit Ihrem Layout zu erstellen und es dann als bigContentView in dem Notification-Objekt. Btw stellen Sie sicher, dass Sie auch den regulator contentView hinzufügen, da das Betriebssystem in einigen Fällen die kleinere contentView verwendet.

+0

Link ist nicht mehr verfügbar. –

+3

Link aktualisiert. Vielen Dank. – Jimmy

+0

Link erneut aktualisiert http://feras.us/blog/custom-rich-notification-view-android/ –

Verwandte Themen