如何创建旋转的自定义加载图像?

How can I create a custom loading image that spins?

我正在尝试创建自定义加载图像。 我用这个 website 从我的 svg 创建 gif,但如果你不付钱,输出分辨率非常糟糕。

我想要这样的效果:

现在我有一个带有旋转图像的自定义进度条:

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

这是结果:

在您的 loading.xml 上使用插值器来加速初始动画并在结束时减速。

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

此外,您无需添加 Progressbar 即可使其旋转。只需致电

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

您的视图几乎可以是任何视图(例如ImageView)。