AP独立实现Animated GIF播放
来源:互联网 发布:windows汇编 编辑:程序博客网 时间:2024/06/08 00:32
目前Android原生部分并不完全支持动态GIF的播放,“并不完全”的意思是:google在jni、native层实现了gif的解码和每帧绘制,但如要在AP中动态绘制每帧图片,需要AP通过自己定义view的方式去完成gif动态播放。
1.GifView实现简易原理
(1) 定义GifView类,继承View类;
(2)在GifView构造器中使用android.graphics.Movie类的静态方法decodeStream(InputStream is)解码gif文件;
(3)重写onDraw()方法,具体flow如下:
2.需要注意的地方
由于API 11 之后不能使用硬件渲染movie类,因此需要在代码中声明:
/**
* Starting from HONEYCOMB have to turn off HW acceleration to draw
* Movie on Canvas.
*/
if
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setLayerType(View.LAYER_TYPE_SOFTWARE,
null
);
}
或者在manifest.xml中声明:
android:hardwareAccelerated="false"
3.GifView demo project
请使用Android Studio打开:testAnimatedGif.rar 。
参考
1.http://gundumw100.iteye.com/blog/1182109
2.http://blog.sina.com.cn/s/blog_7033e38201010qc1.html
3.http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0921/1701.html
0 0
- AP独立实现Animated GIF播放
- Create Animated Gif Online
- android 实现gif播放
- 实现播放gif效果
- android实现Gif播放
- Animated GIF library for Processing
- UIImage实现gif文件播放
- 关于Gif播放的实现
- chrome gif录制工具 Animated Gif Capture
- Gickr does software-free animated GIF creation
- Qt 中 实现gif动画的播放
- Qt 中 实现gif动画的播放
- iOS 简单实现gif动画播放
- Windows Mobile C#实现GIF图片播放
- 如何实现Android 播放Gif 动画
- iOS 简单实现gif动画播放
- Android 实现播放本地GIF图片
- Android轻松实现播放Gif图片
- 优秀的系统分析师必读——需求分析20条原则
- 利用navcat为mysql数据库单独的表赋权限及表结构同步
- 组合模式
- 用baksmali/smali,将odex转成dex
- Linux 分区详解之—Parted,可以查看你的磁盘的分区类型(比如说GPT/MBR)
- AP独立实现Animated GIF播放
- listView的几种特殊属性
- HttpClient发送post请求
- linux使用top命令查看系统状态
- 关于JQGrid使用参数介绍
- 高并发高流量网站架构
- 写JQuery插件的基本知识
- Mysql 数据库之存储引擎(MyISAM和InnoDB)
- 关于解析URL中中文问题的分析