android所带的控件里面没有能够显示gif图片的
网上的解决方法大致有三种
第一:先将gif图片分拆为N帧(由美工/软件完成),然后逐次播放;
第二:利用java代码将图片分拆为N帧;
第三:android里面有一个Movie类,可以使用它来播放gif动画(此类位于android.graphics包下)
前面两种的思路是一样的,第二种网上有jar包可以下载用(在资源中已经上传)。
第一种对于帧数较多的图片太过于繁琐,不提倡使用。
先来解释一下第二种的方法:
GifAction.java 观察者类,监视GIF是否加载成功
GifFrame.java 里面三个成员:当前图片、延时、下张Frame的链接。
GifDecoder.java 解码线程类
GifView.java 主类,包括常用方法,如GifView构造方法、设置图片源、延迟、绘制等。
public interface GifAction {
/**
* gif解码观察者
* @param parseStatus 解码是否成功,成功会为true
* @param frameIndex 当前解码的第几帧,当全部解码成功后,这里为-1
*/
public void parseOk(boolean parseStatus,int frameIndex);
}
//线程操作gif图片解码