Ответ 1
Установите duration и repeatCount, который вы хотите запустить анимацию.
У меня есть изображение, пригодное для рисования. я вращая изображение как индикатор выполнения.
<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" />
Я хочу увеличить скорость вращения? для чего, какой атрибут я должен использовать?
Установите duration и repeatCount, который вы хотите запустить анимацию.
Длительность установки и/или количество повторений не помогли мне с неопределенной анимацией ProgressBar. Я должен был увеличить toDegrees, чтобы он сделал дополнительные циклы:
<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-->
В соответствии с эта ссылка:
Скорость вращения неопределенного индикатора выполнения фиксируется на одном революция каждые 4 секунды, изменение атрибута продолжительности в выталкиваемый XML не имеет никакого эффекта. Если вы предпочитаете ускорить его, вы можете измените атрибут toDegrees на кратные 360:
- 720 делает один оборот за 2 секунды
- 1080 делает один оборот за 1,33 секунды.
- 1440 делает один оборот за 1 секунду
Кроме того, вы можете просто использовать неопределенное значение для ProgressBar.
android:duration="required value in ms"
добавить код в 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-->