<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="Android 平台实现Gif 图像解码并播放暂停的示例代码及组件分享" id="card1">
<p> 游客</p><p>
标题:Android 平台实现Gif 图像解码并播放暂停的示例代码及组件分享<br/>
正文:<br/>
 　　Android 播放GIF之前就有过一篇文章是讲述如何使用GIF文件并播放。可以通过 这里 了解关于播放GIF的一种方法。　　如果前面有了解过的朋友肯定知道这上面的做法比较麻烦，又要去分解图片，又要写各种麻烦的XML文件，有点郁闷，而且还带来的直接后果是一个比较多动作的GIF图片可能会将项目的体积变大，这点很多朋友都无法接受。不过这样的好处也显而易见，就是运行的速度会比你去解码的速度要快。　　以下这种方法是需要解码，但是速度的话保证不了，可能开线程的时候没有处理好吧，以下面这张图片为例做解码播放：　　首先，先编写一个GIF解码的帮助类，该类提供了几个操作GIF图片的方法，比如图片的初始化呀，切换图片呀，获得整个GIF的组合数量等等，由于代码量太多，这里就不列出来，后面会提供源码供大家参考，可于源码内找到该帮助类。　　之后，编写一个用于可显示Gif 的组件，继承自View 并实现了Runable，代码如下：　　package com.terry.gif;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.util.AttributeSet;import android.view.View;public class TypegifView extends View implements Runnable {    gifOpenHelper gHelper;    private boolean isStop = true;    int delta;    String title;    Bitmap bmp;    // construct - refer for javapublic TypegifView(Context context) {    this(context, null);}// construct - refer for xmlpublic TypegifView(Context context, AttributeSet attr<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1835&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1835&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1835&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1835&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1835&amp;Page=4">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1835">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1835">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>