gif android 点击 加载,android 加载显示gif图片的解决方案

使用方法:

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

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

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是否加载成功

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

GifDecoder.java 解码线程类

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

这种实现方案比较好,可以直接加载网络上流的形式的图片也可以加载res下drawable中的图片还可以加载一个一个图片的byte数组。用法也比较简单,缺点就是当一个gif图片比较大时,可能会出现OOM。由于这种方案的解决思路是开启线程先解析一张gif图片,解析成一帧一帧的图片,然后再开启另外一个线程一帧一帧的显示。所以当一个gif图片过大的时候,解析成的一系列的图片就会很多很大。容易出现OOM的情况。所以我们在播放很大很长的gif图片的时候,就需要先设置一下图片的属性,降低图片的容量,尽量避免出现OOM的情况。

当然以上的两种方案是比较常用的方案,除此之外也还有其他的解决方案,比如利用webview加载gif图片、利用mediaplayer播放动态图片等等,这些方案一般比较复杂,而且本人我也没有用过,所以这里就不再叙述。

这只是我个人的一点小见解,如果有什么错误,希望大家不吝赐教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值