2010-07-02 20 views
24

Tengo una imagen dibujable. Giro la imagen como una barra de progreso.¿Cómo aumentar la velocidad de rotación en Android?

<rotate xmlns:android="http://schemas.android.com/apk/res/android" 
android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" 
android:toDegrees="360" android:drawable="@drawable/spinner_white_48" /> 

Quiero aumentar la velocidad de rotación? para eso, ¿qué atributo tengo que usar?

Respuesta

2

Establezca duration y repeatCount que desea que se ejecute la animación.

+1

¿Y si el repeatCount debe ser 0, de modo que gira siempre (utilizado para progressBar, en "indeterminateDrawable")? La duración no parece hacer nada en este caso ... –

1
android:duration="required value in ms" 
+0

esta propiedad ahora está disponible en la etiqueta de rotación –

99

Establecer la duración y/o el recuento repetido no me ayudó con una animación ProgressBar indeterminada. Tuve que aumentar los toDegrees a hacer que tenga bucles adicionales:

<rotate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:drawable="@drawable/ic_indeterminate_progress" 
    android:duration="1" 
    android:fromDegrees="0" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:toDegrees="1080" /> <!--1080 is 3 loops instead of 1 in same amt of time--> 
+0

Se saltea muchos grados en la repetición de la animación cuando lo configuramos en un valor de 0 a múltiplo no entero de 360 ​​(por ejemplo, 540) grados. ¿hay algún trabajo para este –

20

Según this link:

La velocidad de rotación de la barra de progreso indeterminada se fija en un revolución cada 4 segundos, el cambio de la el atributo de duración en el XML dibujable no tiene ningún efecto. Si prefiere acelerarlo, puede cambiar las toDegrees atribuyen a múltiplos de 360:

  • 720 hace un giro en 2 segundos
  • 1080 hace una vuelta en 1,33 segundos
  • 1440 hace una vuelta en 1 segundo

Además, sólo puede utilizar indeterminateDuration para el ProgressBar.

2

añadir en el código para progress.xml

<rotate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:fromDegrees="0" 
    android:toDegrees="1080" /> <!--1080 is 3 loops instead of 1 in same amt of time--> 
+0

Hola, podrías incluir una descripción del problema? Gracias –

Cuestiones relacionadas