网上也有很多相关文章,在这里我也记录一下,方便查找,如有抄袭其他文章代码,请谅解,我只是想记录一下,谢谢各位大神
有三种实现方式,都是放到drawable中
第一种通过自定义颜色值来实现 progressbar_load_color.xml
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" >
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false" >
<gradient
android:centerColor="#FF7121"
android:centerY="0.50"
android:endColor="#FFFF00"
android:startColor="#6BD3FF"
android:type="sweep"
android:useLevel="false" />
</shape>
</animated-rotate>
第二种通过一张图片来实现 progressbar_load_image.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<rotate
android:drawable="@mipmap/loading_circle"
android:fromDegrees="0.0"
android:pivotX="50.0%"
android:pivotY="50.0%"
android:toDegrees="360.0" android:interpolator="@android:anim/linear_interpolator"
/>
</item>
</layer-list>
这里需要注意的是如果想要控制图片的转动速度,
android:interpolator="@android:anim/linear_interpolator"
这句是不管用的,各种模式我都试了一遍,没什么变化,要设置
android:toDegrees=""
这个里面的值,值越大转的越快
第三种通过多张图片切换来实现 progressbar_load_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@mipmap/load_0" android:duration="300"/>
<item android:drawable="@mipmap/load_1" android:duration="300"/>
<item android:drawable="@mipmap/load_2" android:duration="300"/>
<item android:drawable="@mipmap/load_3" android:duration="300"/>
<item android:drawable="@mipmap/load_4" android:duration="300"/>
<item android:drawable="@mipmap/load_5" android:duration="300"/>
</animation-list>