2012-09-12 15 views
18

Jelly Bean agregó soporte para notificación de estado ampliable. De acuerdo con http://developer.android.com/about/versions/jelly-bean.html:Notificaciones ampliables personalizadas en Jelly Bean (4.1)

Además de los estilos de plantilla, puede crear sus propios estilos de notificación utilizando cualquiera retirado Vista.

¿Cómo hacer esto? Creo que para hacer esto necesitas crear un Notification.Style personalizado. Es una clase abstracta, así que es necesario ampliarla. No he podido encontrar ninguna documentación sobre qué partes necesitan extenderse.

Este SO question da un buen ejemplo de cómo utilizar el notificaiton.builder para las notificaciones básicas, lo estoy usando como punto de partida. Añadiendo

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

añade una vista personalizada para las notificaciones básicas, pero no es ampliable.

Respuesta

26

Debe crear su propio RemoteViews, luego indicar que desea que el contenido expandido herede su RemoteViews personalizado.

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

Tenga en cuenta que bigContentView es lo que estás buscando. mBuilder es un objeto Notification.Builder.

13

Hay un buen tutorial here sobre cómo hacerlo y cómo crear su propio diseño también.

enter image description here

Básicamente es necesario crear un RemoteView con su diseño y luego configurarlo como bigContentView en el objeto de notificación. Por cierto, asegúrese de que también agrega el regulador contentView porque el sistema operativo usará el contentView más pequeño en algunos casos.

+0

enlace ya no está disponible .. –

+3

Enlace actualizado. Gracias. – Jimmy

+0

enlace actualizado una vez más http://feras.us/blog/custom-rich-notification-view-android/ –

Cuestiones relacionadas