参考文章:http://www.2cto.com/kf/201310/253434.html
这篇文章说的很详细的,我就是根据这篇文章做出来的。这种方式是真正的加载动态图,播放gif类型的图片,其原理就是将gif图片播放出来
大体上分为四部:
第一步:
在values文件夹下建立attrs.xml文件,内容如下:
第二步:建立一个PowerImageView类继承ImageView类
package com.tcc.dynamicbackground;
import java.io.InputStream;
import java.lang.reflect.Field;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Movie;
import android.os.SystemClock;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
public class PowerImageView extends ImageView implements OnClickListener {
// 有些4.0以上系统的手机启动了硬件加速功能之后会导致GIF动画播放不出来,因此我们需要在AndroidManifest.xml中去禁用硬件加速功能,
// 可以通过指定android:hardwareAccelerated属性来完成
/**
* 播放GIF动画的关键类
*/
private Movie mMovie;
/**
* 开始播放按钮图片
*/
private Bitmap mStartButton;
/**
* 记录动画开始的时间
*/
private long mMovieStart;
/**
* GIF图片的宽度
*/
private int mImageWidth;
/**
* GIF图片的高度
*/
private int mImageHeight;<