要实现帧动画首先需要编写drawable/animation_list的xml文件
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:duration="500"
android:drawable="@drawable/dailog_login_1"/>
<item
android:duration="500"
android:drawable="@drawable/dailog_login_2"/>
<item
android:duration="500"
android:drawable="@drawable/dailog_login_3"/>
<item
android:duration="500"
android:drawable="@drawable/dailog_login_4"/>
<item
android:duration="500"
android:drawable="@drawable/dailog_login_5"/>
<item
android:duration="500"
android:drawable="@drawable/dailog_login_6"/>
<item
android:duration="500"
android:drawable="@drawable/dailog_login_7"/>
</animation-list>
oneshot="false"
表示循环播放,如果只需要播放一出就天true就好了
接下来是在启动的代码
imageView = (ImageView) findViewById(R.id.imageView1);
//第一种方式实现的动画
/*animationDrawable = (AnimationDrawable) getResources().getDrawable(R.anim.framebyframe);
imageView.setBackgroundDrawable(animationDrawable);*/
//第二种方式实现的动画
imageView.setBackgroundResource(R.anim.framebyframe);
animationDrawable = (AnimationDrawable) imageView.getBackground();
animationDrawable.start();
<span style="white-space:pre"> </span>animationDrawable.setOneShot(false);是否循环播放
animationDrawable.stop();停止播放
animationDrawable.isRunning();//是否播放
animationDrawable.getNumberOfFrames();//播放帧
animationDrawable.getFrame(index); 返回制定索引的 Drawable对象
animationDrawable.getDuration(i);停留的时间