安卓中是不支持gif动画的自动播放的,要想实现就用代码来控制图片的轮播~以下是步骤:
1、用网上的gif动画转图片的软件,把gif图片逐帧转成图片,为了方便说明,这里以软件中常用的等待动画为例,我的是转换成12张图片,命名为waiting00-waiting11;
2、在要实现动画的activity配置页面添加一个TextView:
[mw_shl_code=xhtml,false]
android:id="@+id/waitingImage"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginTop="10dp"
android:textIsSelectable="false" />
[/mw_shl_code]
3、添加一个新的配置文件,放在 res/drawable 文件夹下,文件内容为:
[mw_shl_code=xhtml,false]<?xml version="1.0" encoding="utf-8"?>
android:drawable="@drawable/waiting00"
android:duration="150"/>
android:drawable="@drawable/waiting01"
android:duration="150"/>
android:drawable="@drawable/waiting02"
android:duration="150"/>
android:drawable="@drawable/waiting03"
android:duration="150"/>
android:drawable="@drawable/waiting04"
android:duration="150"/>
android:drawable="@drawable/waiting05"
android:duration="150"/>
android:drawable="@drawable/waiting06"
android:duration="150"/>
android:drawable="@drawable/waiting07"
android:duration="150"/>
android:drawable="@drawable/waiting08"
android:duration="150"/>
android:drawable="@drawable/waiting09"
android:duration="150"/>
android:drawable="@drawable/waiting10"
android:duration="150"/>
android:drawable="@drawable/waiting11"
android:duration="150"/>
[/mw_shl_code]
4、在实现动画的activity的onCreate方法中中添加如下代码:
[mw_shl_code=java,true]
//获取动画载体
TextView tv = (TextView) this.findViewById(R.id.waitingImage);
//加载动画资源
tv.setBackgroundResource(R.layout.wait_draw);
final AnimationDrawable ad = (AnimationDrawable) tv.getBackground();
//播放动画
getMainLooper().myQueue().addIdleHandler(
new MessageQueue.IdleHandler() {
@Override
public boolean queueIdle() {
ad.start();
return false;
}
});
[/mw_shl_code]