• 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;   
    }    

    GifDecoder.java

    解码线程类

    http://code.google.com/p/gifview/source/browse/trunk/src/com/ant/liao/GifDecoder.java

    GifView.java

    主类,包括常用方法,如GifView构造方法、设置图片源、延迟、绘制等。

    http://code.google.com/p/gifview/source/browse/trunk/src/com/ant/liao/GifView.java

  • 相关阅读:
    第十二周助教总结
    第十一周助教总结
    记一次数据库mysql与tidb查询时的区别
    括号校验-Java
    (四)栈和队列的应用
    (三)栈和队列的链式存储结构
    (二)栈和队列的顺序存储结构
    windows开放服务可以远程和被访问(两台电脑可以互相访问)
    (一)栈和队列的基本概念
    (一)数据结构基本概念、存储结构、复杂度
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/8274932.html
Copyright © 2020-2023  润新知