Android开源项目:GifView——Android显示GIF动画

Posted 星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开源项目:GifView——Android显示GIF动画相关的知识,希望对你有一定的参考价值。

下载:http://code.google.com/p/gifview/downloads/list

简介:android中现在没有直接显示gif的view,只能通过mediaplay来显示,且还常常不能正常显示出来,为此写了这个gifview,其用法和imageview一样

使用方法:

1-把GifView.jar加入你的项目。

2-在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个UI控件。如:

<com.ant.liao.GifView android:id="@+id/gif2"  
    android:layout_height="wrap_content" android:layout_width="wrap_content"  
    android:paddingTop="4px" android:paddingLeft="14px" android:enabled="false" />

3-在代码中配置常用属性:

// 从xml中得到GifView的句柄  
    gf1 = (GifView) findViewById(R.id.gif1);  
    // 设置Gif图片源  
    gf1.setGifImage(R.drawable.gif1);  
    // 添加监听器  
    gf1.setOnClickListener(this);  
    // 设置显示的大小,拉伸或者压缩  
    gf1.setShowDimension(300, 300);  
    // 设置加载方式:先加载后显示、边加载边显示、只显示第一帧再显示  
    gf1.setGifImageType(GifImageType.COVER);  

GifView的Jar包共有四个类:

GifAction.java:

观察者类,监视GIF是否加载成功

package com.ant.liao;    
public interface GifAction {  
/** 
  *gif解码观察者 
  * @hide 
  * @param parseStatus 解码是否成功,成功会为true            
  * @param frameIndex 当前解码的第几帧,当全部解码成功后,这里为-1            
  */       
public void parseOk(boolean parseStatus,int frameIndex);  }    

GifView的Jar包共有四个类:

GifAction.java:

观察者类,监视GIF是否加载成功

package com.ant.liao;    
public interface GifAction {  
/** 
  *gif解码观察者 
  * @hide 
  * @param parseStatus 解码是否成功,成功会为true            
  * @param frameIndex 当前解码的第几帧,当全部解码成功后,这里为-1            
  */       
public void parseOk(boolean parseStatus,int frameIndex);  }    

GifFrame.java

里面三个成员:当前图片、延时、下张Frame的链接。

package com.ant.liao;  
import android.graphics.Bitmap;  
public class GifFrame {   
/** 
* 构造函数  
* @param im 图片  
* @param del 延时  
*/          
public GifFrame(Bitmap im, int del) {    
image = im;           
delay = del;       
}             
public GifFrame(String name,int del){     
imageName = name;           
delay = del;          
}                 
/**图片*/        
public Bitmap image;     
/**延时*/          
public int delay;    
/**当图片存成文件时的文件名*/   
public String imageName = null;        
/**下一帧*/        
public GifFrame nextFrame = null;   
}    

 

以上是关于Android开源项目:GifView——Android显示GIF动画的主要内容,如果未能解决你的问题,请参考以下文章

Android—基于GifView显示gif动态图片

android -------- GifView 显示gif图片

Android实战记录自学自己定义GifView过程,能同一时候支持gif和其它图片!有用篇

android 怎样显示gif动画

Android 动画

100个Github上Android开源库