版权声明:本文为Zhang Phil原创文章,请不要转载! https://blog.csdn.net/zhangphil/article/details/81943106
Android animation-list动画
放置一系列图片资源放到res/drawable下面,然后写一个res/drawabale/loading_anim_image.xml文件,定义animation-list动画,animation-list定义的动画将顺次从上往下执行,设置oneshot=false则反复循环执行,true则执行一次,res/drawable/loading_anim_image.xml:
<?xml version="1.0" encoding="utf-8"?>
<!--oneshot: true只展示一次。
false不停的循环播放动画。
android:duration 图片显示时间长度。 -->
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/comp1_00000"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00001"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00002"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00003"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00004"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00005"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00006"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00007"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00008"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00009"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00010"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00011"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00012"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00013"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00014"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00015"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00016"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00017"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00018"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00019"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00020"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00021"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00022"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00023"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00024"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00025"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00026"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00027"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00028"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00029"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00030"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00031"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00032"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00033"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00034"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00035"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00036"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00037"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00038"
android:duration="25"></item>
<item
android:drawable="@drawable/comp1_00039"
android:duration="25"></item>
</animation-list>
直接把res/drawabale/loading_anim_image.xml作为src垫到ImageView里面即可:
<ImageView
android:id="@+id/load_image"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center_vertical"
android:scaleType="centerCrop"
android:src="@drawable/loading_anim_image" />
在上层Java代码,为了兼容目的,需要主动启动动画,start:
ImageView mImageView = mCacheView.findViewById(R.id.load_image);
mLoadingAnimationDrawable = (AnimationDrawable) mImageView.getDrawable();
//直接就开始执行,性能不是最佳的。
mLoadingAnimationDrawable.start();
停止时候调用stop。