帧动画
概述
帧动画指多张静态图片一帧接着一帧播放,就像播放电影一样。
常用属性方法
oneshot属性:表示是否只播放一次,true表示只会播放一次,false表示一直循环播放
druation:表示此帧持续的时间,整数,单位为毫秒
drawable:表示此帧动画所对应的图片资源
举个例子
在res/drawable
下新建anim_loading.xml
文件
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/a1"
android:duration="80" />
<item
android:drawable="@drawable/a2"
android:duration="80" />
<item
android:drawable="@drawable/a3"
android:duration="80" />
<item
android:drawable="@drawable/a4"
android:duration="80" />
<item
android:drawable="@drawable/a5"
android:duration="80" />
<item
android:drawable="@drawable/a6"
android:duration="80" />
<item
android:drawable="@drawable/a7"
android:duration="80" />
<item
android:drawable="@drawable/a8"
android:duration="80" />
<item
android:drawable="@drawable/a9"
android:duration="80" />
<item
android:drawable="@drawable/a10"
android:duration="80" />
<item
android:drawable="@drawable/a11"
android:duration="80" />
<item
android:drawable="@drawable/a12"
android:duration="80" />
<item
android:drawable="@drawable/a13"
android:duration="80" />
<item
android:drawable="@drawable/a14"
android:duration="80" />
<item
android:drawable="@drawable/a15"
android:duration="80" />
<item
android:drawable="@drawable/a16"
android:duration="80" />
</animation-list>
设置布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical">
<Button
android:id="@+id/btnStart"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="开始动画" />
<Button
android:id="@+id/btnStop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="停止动画" />
<ImageView
android:id="@+id/imgAnim"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:src="@drawable/anim_loading" />
</LinearLayout>
获取帧动画、开始停止动画
//获取帧动画
anim = (AnimationDrawable) imgAnim.getDrawable();
//开始动画
anim.start();
//停止动画
anim.stop();