首页 > 解决方案 > 如何创建旋转的自定义加载图像?

问题描述

我正在尝试创建自定义加载图像。我使用这个网站从我的 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"
    />

加载.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>

这是结果:

在此处输入图像描述

标签: androidandroid-layoutuser-experience

解决方案


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

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

此外,您不需要添加一个Progressbar来使其旋转。打电话

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

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


推荐阅读