逐帧动画也叫Drawable Animation,是最简单最直观的动画类型,它利用人眼的视觉暂留效应(也就是光对视网膜所产生的视觉),在光停止作用后,仍然会保留一段事件的现象。
在Android中实现逐帧动画,就是由设计师给出一系列状态不断变化的图片,开发者可以指定动画中每一帧对应的图片和持续事件,然后就可以开始播放动画,具体有两种方式可以定义逐帧动画,分别是采用XML资源文件和代码实现。
1. XML资源文件方式
这是最常用的方式,首先我们将每一帧的图片放到res/drawable目录中,然后在res/anim目录中新建一个动画XML文件,在这个文件中使用<animation-list>
标签来定义动画帧序列,使用<item>
标签来定义动画的每一帧,并在其中指定帧的持续时间等属性:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shuibo0000" android:duration="120"/>
<item android:drawable="@drawable/shuibo0001" android:duration="120"/>
<item android:drawable="@drawable/shuibo0002" android:duration="120"/>
<item android:drawable="@drawable/shuibo0003" android:duration="120"/>
<item android:drawable="@drawable/shuibo0004" android:duration="120"/>