Animación en la barra de notificaciones Vista personalizada

Por lo que sé, podemos crear notificaciones en Android usando Notification Manager + Views remotas.

Estoy creando una notificación para descargar archivos Mp3. Y quiero una animación al lado. Hasta ahora he aprendido de los foros que no es posible.

Sin embargo, vi un video para una aplicación de Android que descarga y muestra una animación junto a él mientras lo descarga. Enlace: http://www.youtube.com/watch?v=yNcs-sS2nFU&feature=related

¿Puede alguien decirme la mejor manera de lograrlo?

La mejor forma que he encontrado para mostrar una animación personalizada en una notificación es usar un AnimationDrawable como recurso con una ID. Luego, simplemente especifique la ID del recurso dibujable cuando publique su notificación. No se necesita más código para actualizar cada fotogtwig de la animación. La animación dibujable maneja eso para ti.

Aquí hay un enlace a la documentación: http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html

Entonces, por ejemplo, necesitarías:

  1. Agregue un archivo xml (como “wheelAnim.xml”) a su carpeta res / drawable / con los siguientes contenidos:

             
  2. Agregue cada referencia dibujable en el archivo xml que acaba de crear para la lista de animación (ya sea PNG u otro formato de imagen) en la carpeta res/drawable/ también.

  3. Use el ID de recurso de la lista de animación (que en este ejemplo es “R.drawable.wheelAnim”) en su código. Por ejemplo:

     Notification notification = new Notification(R.drawable.wheelAnim, null, System.currentTimeMillis()); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(), 0); notification.flags |= Notification.FLAG_AUTO_CANCEL; notification.setLatestEventInfo(this, getText(R.string.someTitle), getText(R.string.someText), pendingIntent); ((NotificationManager) getSystemService(NOTIFICATION_SERVICE)).notify( uid, notification); 

En la documentación para crear notificaciones de barra de estado, dice que puede recorrer un montón de imágenes definidas en un LevelListDrawable cambiando la propiedad iconLevel de la clase de Notification :

icon Campo de nivel

Este valor indica el nivel actual de un LevelListDrawable que se utiliza para el icono de notificación. Puede animar el icono en la barra de estado cambiando este valor para correlacionarlo con el dibujable definido en un LevelListDrawable. Consulte la referencia de LevelListDrawable para obtener más información.