2011-04-13 16 views
5

Estoy tratando de mostrar un gráfico animado idéntico a la barra de progreso indeterminado (no el horizontal, sino el circular) en la barra de estado mientras mi notificación en curso está activa.Mostrar barra de progreso indeterminada en la barra de estado en Android

Intenté encontrar la ID de recurso correspondiente a la barra de progreso indeterminada, pero encontré que está animada por código.

Intenté configurar el ID del icono en mi instancia de notificación en un GIF animado, pero solo se muestra el primer fotograma del GIF en la barra de estado.

Si configuro el ID del icono en android.R.drawable.progress_indeterminate_horizontal, el gráfico se anima perfectamente. Entonces, mi pregunta es: ¿cómo se logra la animación en este caso? ¿A través de iconLevel? ¿Cómo puedo configurar un ícono animado sin tener que animarlo periódicamente?

Cualquier puntero será muy apreciado.

Gracias,

Akshay

Respuesta

5

Encontré mi respuesta. El requisito es crear una lista de animación (digamos guardado como my_spinner.xml), con varias imágenes de la ruleta girar por diferentes ángulos de 0 a 360.

> <?xml version="1.0" encoding="utf-8"?> 
> <animation-list 
> xmlns:android="http://schemas.android.com/apk/res/android" 
>  android:oneshot="false"> 
>  <item android:drawable="@drawable/spinner_0" 
> android:duration="200" /> 
>  <item android:drawable="@drawable/spinner_60" 
> android:duration="200" /> 
>  <item android:drawable="@drawable/spinner_120" 
> android:duration="200" /> 
>  <item android:drawable="@drawable/spinner_180" 
> android:duration="200" /> 
>  <item android:drawable="@drawable/spinner_240" 
> android:duration="200" /> 
>  <item android:drawable="@drawable/spinner_360" 
> android:duration="200" /> 
> </animation-list> 

Y establecer my_spinner.xml como el ID de icono cuando el la notificación es creada

Notification n = new Notification(R.drawable.my_spinner, null, 0); 
+0

esta función está en desuso, ¿hay alguna forma nueva de hacerlo? – Rishabh876

1

Puede mostrar la barra de progreso en el título solicitando cuentan con ventanas adecuadas y establecer la visibilidad de barras:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 
    //any code here 
    setProgressBarIndeterminateVisibility(true); 

Sin embargo, van a aparecer en el título, no en la barra de estado

+0

Lo siento, soy consciente de la barra de progreso en el título. Mi requisito es mostrarlo en la barra de estado. ¡Gracias! – Akshay

Cuestiones relacionadas