web-dev-qa-db-fra.com

Comment augmenter la vitesse de rotation dans Android?

J'ai une image dessinable. Je tourne l'image comme une barre de progression.

<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?

42
Praveen

Définissez durée et repeatCount que vous souhaitez que l'animation s'exécute.

5
Robby Pond

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. J'ai dû augmenter les toDegrees pour lui faire 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-->
129
DustinB

Selon ce lien :

La vitesse de rotation de la barre de progression indéterminée est fixée à un tour toutes les 4 secondes, la modification de l'attribut de durée dans le XML dessinable n'a aucun effet. Si vous préférez l'accélérer, vous pouvez changer l'attribut toDegrees en multiples de 360:

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

De plus, vous pouvez simplement utiliser indeterminateDuration pour ProgressBar.

38

ajouter du code à 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-->
10
Mr_Moradi
Android:duration="required value in ms"
3
Primal Pappachan