帧动画
可绘制的动画可让您一个接一个地加载一系列的Drawable资源来创建动画。 这是一个传统的动画,它的意思是创建一系列不同的图像,按顺序播放,像一卷电影。 AnimationDrawable类是可绘制动画的基础。
虽然您可以使用AnimationDrawable类API在代码中定义动画的框架,但更简单的是使用单个XML文件完成,该XML文件列出了构成动画的框架。 这种动画的XML文件属于您的Android项目的res / drawable /目录。 在这种情况下,指令是动画每帧的顺序和持续时间。
1.在drawable文件夹下创建一个xml文件
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item android:drawable="@drawable/rocket_thrust1" android:duration="200" />
<item android:drawable="@drawable/rocket_thrust2" android:duration="200" />
<item android:drawable="@drawable/rocket_thrust3" android:duration="200" />
</animation-list>
2.执行这个动画效果
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
rocketAnimation.start();
}
3.常用的api
void start() - 开始播放动画
void stop() - 停止播放动画
addFrame(Drawable frame, int duration) - 添加一帧,并设置该帧显示的持续时间
void setOneShoe(boolean flag) - false为循环播放,true为仅播放一次
boolean isRunning() - 是否正在播放