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

  • 相关阅读:
    Windows 8 应用的页面导航(1)
    开发 Windows 8 Bing地图应用(6)
    Windows 8 应用的页面导航(2)
    Windows 8 生命周期管理(4)
    删除DataTable重复列,只针对删除其中的一列重复的行
    Silverlight 数据库 Silverlight Database
    广告费用 会计处理及其改进
    Query to Join Delivery Details and MTL Material Table
    SAVEPOINT
    SYNCHRONIZE
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/8274932.html
Copyright © 2011-2022 走看看