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

时间:2019-07-11 08:49:00

标签: android android-layout user-experience

我正在尝试创建一个自定义的加载图像。 我用这个website从我的svg中创建了gif文件,但是如果您不付款,输出分辨率将非常糟糕。

我想产生这种效果:

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 个答案:

答案 0 :(得分:7)

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

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

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

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

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