Как я могу создать пользовательское изображение загрузки, которое вращается? - PullRequest
3 голосов
/ 11 июля 2019

Я пытаюсь создать собственное изображение загрузки. Я использовал этот сайт для создания GIF из моего SVG, но выходное разрешение очень ужасно, если вы не платите.

Хотелось бы получить такой эффект:

enter image description here

Пока у меня есть пользовательский индикатор выполнения с вращающимся изображением:

<ProgressBar
    android:id="@+id/updateProgressBar"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:drawingCacheQuality="high"
    android:indeterminateBehavior="repeat"
    android:indeterminateDrawable="@drawable/loading"
    android:indeterminateDuration="2000"
    />

loading.xml:

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

И вот результат:

enter image description here

1 Ответ

7 голосов
/ 11 июля 2019

Используйте интерполятор в вашем файле loading.xml для ускорения начальной анимации и замедления в конце.

android:interpolator="@android:anim/accelerate_decelerate_interpolator"

Также вам не нужно добавлять Progressbar для его поворота. Просто позвоните

view.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.loading));

где ваш вид может быть практически любым (например, ImageView).

...