安卓显示GIF图片,并且获取GIF图片的时间

来源:互联网 发布:数据库事务管理 编辑:程序博客网 时间:2024/05/17 02:55

我搞安卓GIF的图片的显示搞了好长的时间。我主要参考了http://my.oschina.net/u/1175746/blog/288258这个博客里面说的
android开源库android-gif-drawable的使用。另外参考了http://gundumw100.iteye.com/blog/1182109这个博客里面说的借助movie实现GIF图片的播放。我结合这两个文章。

首先利用android开源库android-gif-drawable你可以是实现显示GIF图片,但是不能控制GIF图片显示的次数,这让我很是忧伤,然后我参考了借助movie获取GIF图片的时间,然后通过timer控制GIF图片显示的次数。代码如下:

</pre><pre name="code" class="java"><span style="font-family:KaiTi_GB2312;font-size:18px;">mMovie = Movie.decodeStream(getResources().openRawResource(picArray[count]));     <pre name="code" class="java">final int dur = mMovie.duration();  final Handler handler=new Handler(){@Override public void handleMessage(Message msg) { if(msg.what==1){ if(count<3) Gif.setBackgroundResource(picArray[count]); count++; } } }; Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { handler.sendEmptyMessage(1); } }, 0, dur);</span>

上面就是通过movie控制GIF图片时间的代码;

其中

<span style="font-family:KaiTi_GB2312;font-size:18px;">mMovie = Movie.decodeStream(getResources().openRawResource(picArray[count]));</span>

这段代码就是将GIF图片转化为Movie。

<span style="font-family:KaiTi_GB2312;font-size:18px;">final int dur = mMovie.duration();  </span>

这句话就是获取GIF图片的时间;

然后在把这个时间设置在Timer里面就OK啦;

0 0
原创粉丝点击