Android中用GifView显示Gif动画及Gifview简介
来源:互联网 发布:游戏主机历史 知乎 编辑:程序博客网 时间:2024/06/05 12:06
暂未亲自验证,只是在项目中遇到了gifview.jar包,然后百度所得;
一、Gifview简介
作者:ant.cy.liao
主页:http://code.google.com/p/gifview/
下载:http://code.google.com/p/gifview/downloads/list
一、GIF动画分割
在编码之后,需要利用第三方的工具将GIF动画分割成一个个的BMP或JPG格式的图片,再通过android提供的animation类加载这些图片,以实现动画的效果。其实,说来说去,还是利用animation的方法,而且还需要手动分割GIF图片,很是麻烦!但是这种变相的方法也可以实现这个显示动画的功能了。
二、GifView类
去看看开发文档吧,找找这个类GifView类,有木有,有木有?结果是木有。对,这是一位N人写的一个加载Gif动画的类,并且已经将该类做成一个jar类库,供开发者直接加载使用。这个类的使用非常方便,跟普通的UI控件ImageView、Button、TextView等的使用方法都是一样的。
1、原理:
我对这个类的核心不分代码详细分析了一下,基本是按照GIF文件格式,将GIF拆分成一个个BMP图像,然后再将这些BMP图片显示出来。原理跟第一种方法是一样的,但是GifView类将分割GIF图像帧的操作放在一个类中,不需要我们过多的关心GIF是如何拆分的,而且GifView类还提供了一个公开的方法,以方便开发者调用。
2、GifView提供的公开方法
设置GIF动画的数据来源:
控制GIF动画的显示模式:动态或者静态
public void showCover(){
if(gifDecoder == null)
return;
pause = true;
currentImage =gifDecoder.getImage();
invalidate();
}
public void showAnimation(){
if(pause){
pause = false;
}
}
设置GIF动画的显示比例:
rect.bottom =height;
设置GID动画显示的方式:(三种)
先加载后显示:GifImageType.WAIT_FINISH
边加载边显示:GifImageType.SYNC_DECODER
只显示第一帧再显示:GifImageType.COVER
if(gifDecoder == null)
animationType =type;
}
3、使用方法
a、将GifView.jar加入到项目中(不会导入jar包的看这个:http://blog.sina.com.cn/s/blog_821e2bb10100tfup.html);
b、在布局文件中加入GifView控件,并设置GifView的基本属性:包括ID、宽度、高度、边距等等,与其他UI类似
c、在代码中添加控件实例,并加载显示。
// 从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);
其实Android还能用WebView显示Gif动画,不过没有研究,有意向的可以研究下贴出来!
- Android中用GifView显示Gif动画及Gifview简介
- Android中用GifView显示Gif动画及Gifview简介
- Android中用GifView显示Gif动画及Gifview简介
- Android中用GifView显示Gif动画
- Android显示GIF动画 GifView
- Android显示GIF动画GifView
- GifView——Android显示GIF动画
- GifView——Android显示GIF动画
- GifView——Android显示GIF动画
- GifView——Android显示GIF动画
- GifView----Android中显示GIF动画
- android自定义GifView显示gif动画
- GifView——Android显示GIF动画
- GifView——Android显示GIF动画
- android中显示Gif动画 GifView
- Android显示gif图片 GifView
- Android Gif图片显示(GifView)
- GifView——Android显示GIF动画的扩展控件
- 先来看看什么是Lambdas
- 面试官员提出:148个资源让你成为CSS专家(上)
- Java面向对象的理解
- C++设计模式:简单工厂模式
- 使用 webpack + react + redux + es6 开发组件化前端项目
- Android中用GifView显示Gif动画及Gifview简介
- 关于多用户时hadoop的权限问题
- 锋利的jQuery读书笔记-第11章 jQuery性能优化和技巧
- Web自动化测试-Protractor基础(二)
- laravel框架中vagrant常用命令
- 手把手教你在github上搭建自己的代码仓库
- 常见的路由表生成算法
- 珍惜自己有限的时间和经历
- netty使用(一):java NIO