Android

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

页面
字体
小树 · 7月11日 · 2014年 · ·

作为一个正规的android APP,动态图片是少不了的!然而android官网jar包并没有提供这样的功能,不禁让人捉急,稍微百度了一下,发现这个GifView,还是挺方便的,故拿过来用了一下,还行!

gif

一 简况

作者:ant.cy.liao

主页:http://code.google.com/p/gifview/

下载:google可能有些人不好访问,下面给出下载地址和wifi。 Jar包  例子指南

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

此开源包目前存在一个Bug,就是当gif图片资源很大的时候就会出现OOM异常(内存溢出),解决方法:先缓存到文件,再读出来,具体的自己琢磨或者看官方指导Demo。

二 使用方法

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

2-在xml中配置GifView的基本属性

GifView继承自View类,和Button、ImageView一样是一个UI控件。如:

<!-- 使用 开源项目 GifView 来显示动态Gif -->
<com.ant.liao.GifView 
	android:id="@+id/imageView"  
	android:layout_marginBottom="30dp"
        android:layout_width="85dp"
        android:layout_height="81dp"
        android:scaleType="fitCenter" />

也可以在代码中进行大小的设置等等

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

    GifView gf1;
    // 从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);

至此,一个显示gif动画的例子就完成了!

贴一下我自己的项目的截图。

pyp-navigtion

转载必须注明来源: 小树技术博客 » Android开源项目:GifView-Android显示GIF动画

18 条回应
  1. clown2016-3-25 · 11:13

    好风骚的博客,赞

  2. admin2015-12-14 · 13:31

    此文章已太过久远,有任何问题请直接联系GITHUB主:http://code.google.com/p/gifview/

  3. 匿名2015-11-6 · 19:13

    打开就出现停止运行了

  4. 匿名2015-11-6 · 19:09

    1

  5. 匿名2015-10-21 · 16:12

    你好,我使用这个包的时候会出现如下错误,
    10-21 16:10:33.998: E/AndroidRuntime(26549): at com.ant.liao.GifView$DrawThread.run(GifView.java:317)

  6. 匿名2015-10-10 · 11:32

    还是会出现OOM 我做的是IM显示gif图片内容

  7. 匿名2015-10-9 · 16:51

    :smile:

  8. 匿名2015-9-21 · 13:54

    请问怎么控制它只播放一次,还有就是播放完后有没有什么监听事件

  9. 你好2015-2-6 · 15:18

    为什么在使用之后会非常的占用内存,多次打开会变得越来越不流畅

    • 小树2015-2-7 · 9:57

      实际上Gif就是多个普通图片的叠加,如果动画太长,相当于加载了很多图片。至于多次打开不流畅的问题,可能是你使用完之后没有释放吧。可以在dispose或者pause中处理一下。

  10. 开发2014-11-19 · 15:13

    你好请问 你会报这个异常吗java.lang.NullPointerException,at com.ant.liao.GifView$DrawThread.run

    • 小树2014-11-19 · 18:32

      这个开源项目本身是没有问题的,我也没有遇到过。你遇到的这个空指针我猜可能是图片路径问题,没有读取到。

    • 匿名2015-11-9 · 14:34

      请问解决了没?我也遇到同样的问题

    • gao2015-12-29 · 9:34

      请问解决了吗?我也遇到这个问题

  11. 无人过问2014-9-11 · 11:54

    gif图片怎么自适应

    • 小树2014-9-13 · 21:28

      wrap_content就行啦。

  12. PHP二次开发2014-7-11 · 21:31