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

Mat*_*ini 3 android user-experience android-layout

我正在尝试创建一个自定义的加载图像。我用这个网站从我的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"
    />
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

结果如下:

在此处输入图片说明

axi*_*tjz 7

在您的loading.xml上使用插值器以加速初始动画并在最后减速。

android:interpolator="@android:anim/accelerate_decelerate_interpolator"
Run Code Online (Sandbox Code Playgroud)

另外,您无需添加Progressbar使其旋转。刚打电话

view.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.loading));
Run Code Online (Sandbox Code Playgroud)

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