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?
Définissez durée et repeatCount que vous souhaitez que l'animation s'exécute.
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-->
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.
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-->
Android:duration="required value in ms"