读书人

*gif 解码 - 实践

发布时间: 2012-09-09 09:27:54 作者: rapoo

*.gif 解码 - 实践

*.gif decode 前面已经说过 今天不打算再说了

?

鉴于自定义组件View 很多人反映看不懂 所以今天想以此为例 再详细演示一遍

?

?

主要目标: 定义 TypegifView? 用于显示目标*.gif 且 extends View

?

?

[代码 步骤]

?

1. 定义xml所需 属性描述字串 在res\values 新增文件:attra.xml 定义如下:

?

?

?

2. 定义TypegifView?构造函数 供*.java调用:

?

?

?

?

?4. 属性:src delta 设置:

?

?

10. 因为描述的比较不细致 所以补上全部代码 供大家分享

?

?

?

1 楼 mgssnake 2010-05-04 终于看到解析gif的东西,以后做动画效果,就简单多了 2 楼 稻-草 2010-05-05 你的线程什么时候结束呢? 3 楼 gryphone 2010-05-05 稻-草 写道你的线程什么时候结束呢?
结束?不能结束 因为*.gif 是不断循环的 4 楼 稻-草 2010-05-05 那如果控件不用了呢,如弹出个对话框,然后关闭对话框。 5 楼 yuanliyin 2010-05-05 对咱这种美工差的人是个福音! 6 楼 lishali12345 2010-05-09 由于项目中需要使用到GIF解码的东西,刚好在JE上看到,甚感幸福啊
不过我在阅读楼主提供的代码时发现有一个问题,就是readShort()函数的实现
// read 8 bit data
protected int readShort() {
// read 16-bit value, LSB first
return read() | (read() << 8 );
}
这个考虑的是小端字节序存储吗?为何确定就是小端字节序呢,而没有考虑别的方式呢,这个与PC上Java编程时通过二进制流读取来获取short值的方法是一致的吗? 7 楼 热血pk007 2010-09-08 你好,要是加载的gif图片背景是透明的,但是最终在模拟器上显示的背景是黑色的是怎么回事,要改动哪个代码呢? 8 楼 15921310063 2011-03-22 我是借助工具获得每帧,然后实现的。觉得还是比较麻烦。
还是代码的比较方便。学习了。 9 楼 nciky1984 2011-03-25 Android 自己的 android.graphics.Movie类是支持gif的

具体例子可以看 ApiDemo 里的BitmapDecode例子

读书人网 >移动开发

热点推荐