流水不争先,争的是滔滔不绝

即时通讯软件开发 动画表情怎么做-Android播放Gif动态图片的几种方式总结

即时通讯软件开发 云聊IM 3355℃

现在动画表情基本已经成为即时通讯软件的标配功能,动画表情大多都是通过gif动画实现,下面介绍三种方式在Android平台上播放gif动画的方式。

一、自定义GifView组件

简介:

这个自定义的gifview组件核心代码就是读取Gif数据,创建Movie实例,绘制每一帧图片来达到Gif动态效果。这种方式比较直观方便,代码量也少,不过经测试部分Gif图片不能自适应大小,播放速度比实际播放速度快,如果要显示的gif过大,还会出现BOOM的问题。

具体实现可以参考地址:http://blog.csdn.net/y_fc75/article/details/46494929

二、使用GifView的开源jar包

作者:ant:cy:liao

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

简介:功能很强大的Gif库,能设置加载方式,可以先加载后显示或者只显示第一帧,播放速度比实际播放速度快,如果要显示的gif太大,会出现BOOM的问题。

使用方法:

1)将GifView的jar包导入到项目中

2)在XML配置,用法与imageview一致

3)代码中配置

gif3 = (GifView) findViewById(R.id.gif3);  
// 设置Gif图片源
gif3.setGifImage(R.drawable.gif2);
// 添加监听器
gif3.setOnClickListener(this);
// 设置显示的大小,拉伸或者压缩
gif3.setShowDimension(300, 300); 
// 设置加载方式:先加载后显示、边加载边显示、只显示第一帧再显示
gif3.setGifImageType(GifImageType.COVER);  

三、使用Android-gif-drawable开源库

简介:android-gif-drawable是github上的优秀开源项目,源码和demo使用的是studio开发,所以想用eclipse打开还要花点功夫。这个底层解析Gif使用的是C语言。它的有点久是加载大的图片时不会出现内存溢出的情况。保持Gif的动画效果,不会发生过快的情况。

android-gif-drawable的源代码下载地址:https://github.com/koral–/android-gif-drawable

转发自:http://blog.csdn.net/zhoufuqiang30/article/details/43730437

可以参考demo:http://download.csdn.net/detail/zhoufuqiang30/8477033

版权声明:部分文章、图片等内容为用户发布或互联网整理而来,仅供学习参考。如有侵犯您的版权,请联系我们,将立刻删除。
点击这里给我发消息