zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C语言|作业07
    Cookie应用
    刷新页面,怎么做到不提示“不重新发送消息,则无法刷新页面”
    笔记
    笔记
    元素内部设定position
    企业微信正式发布 Tita 绩效宝,助力企业完成数字化绩效管理转型
    OKR实践:如何获得高层的理解与关注
    OKR:衡量结果和解决实际问题
    2022 年绩效评估,HR看这一篇就够了!
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/8274932.html
Copyright © 2011-2022 走看看