2010-07-02 11 views
24

Je peux dessiner une image. Je fais tourner l'image comme une barre de progression.Comment augmenter la vitesse de rotation dans 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" /> 

Je veux augmenter la vitesse de rotation? pour cela, quel attribut dois-je utiliser?

Répondre

2

Définissez les duration et repeatCount que vous souhaitez que l'animation s'exécute.

+1

si le repeatCount doit être 0, de sorte qu'il tourne pour toujours (utilisé pour progressBar, dans "indeterminateDrawable")? La durée ne semble pas faire quoi que ce soit dans ce cas ... –

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

cette propriété est maintenant disponible dans la balise de rotation –

99

La définition de la durée et/ou du nombre de répétitions ne m'a pas aidé avec une animation ProgressBar indéterminée. Je devais augmenter les toDegrees pour avoir faire des boucles supplémentaires:

<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

Elle devient ignorée de plusieurs degrés lors de la répétition de l'animation lorsque nous la définissons sur une valeur de 0 à un multiple non entier de 360 ​​(par exemple 540) degrés. Y at-il un workaound pour cela –

20

Selon this link:

La vitesse de rotation de la barre de progression indéterminée est fixé à une révolution toutes les 4 secondes, en changeant la L'attribut de durée dans le fichier XML dépliable n'a aucun effet. Si vous préférez accélérer, vous pouvez changer les toDegrees attribuent à des multiples de 360:

  • 720 fait un tour en 2 secondes
  • 1080 fait un tour en 1.33 secondes
  • 1440 fait un tour en 1 seconde

en outre, vous pouvez simplement utiliser indeterminateDuration pour la barre de progression.

2

ajouter dans le code pour 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

Bonjour, pourriez-vous inclure une description du problème? Merci –

Questions connexes