android中gif图片的展示

android中gif图片的显示在Android开发中,在进行图片显示的时候,发现对于gif类的图片显示有些问题,对于gif

android中gif图片的显示

在Android开发中,在进行图片显示的时候,发现对于gif类的图片显示有些问题,对于gif图片属于连帧图片,也就是多幅图片组成一张图片,如果仅仅的用canvas.drawBitmap时,会发现,只显示图片的第一帧。有如下处理方式

1.做为Movie时进行播放

(movie = Movie.decodeStream(context.getResources().openRawResource(R.drawable.animated_gif))):

?

//开始进行绘画之前,取得当前的时间

?

2.利用Android的AnimationDrawable进行处理

但是并不是所有的gif图片都可以这样显示的,有些的就显示不了,出现不正常的情况

如果下面的gif图片就显示不了(为什么显示不了,我也不清楚):

android中gif图片的展示

对于该种情况的显示,采取的是一种将gif图片中的每帧取出来,利用android的AnimationDrawable方式进行

实现。

步骤:

a.在res下建立anim的文件夹,定义动画test.xml

<?xml version="1.0" encoding="UTF-8"?>

?

其中上面的android:oneshot="false"为反复播放动画,当为true时,只播放一次动画

b.在values建立style.xml文件,定义自动播放的样式

<?xml version="1.0" encoding="UTF-8"?>

?

?该处是利用进行条能自动播放的效果,而引用其样式的

c.在layout文件夹下的main.xml文件中,将其做为一个进度条进行显示

<ProgressBar android:id="@+id/ProgressBar01" style="@style/animStyle" android:layout_width="80px" android:layout_height="80px"/>

?

?

这样就可以达到正常效果了。

原文地址:http://terryblog.blog.51cto.com/1764499/388226

?

?