所谓的逐帧动画,就是一帧一帧的播放图片,像放电影一样。
逐帧动画的XML实现
1、定义xml动画文件
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item android:drawable="@drawable/two" android:duration="1000"></item>
<item android:drawable="@drawable/three" android:duration="1000"></item>
<item android:drawable="@drawable/four" android:duration="1000"></item>
</animation-list>
说明: android:oneshot="true" 定义为true说明动画只会执行一次。 android:drawable 表示这一帧动画所对应的图片资源,android:duration表示这一帧动画的时长,单位为毫秒。
2、设置给一个ImageView
<ImageView
android:layout_marginTop="100dp"
android:onClick="onClick"
android:src="@drawable/frames"
android:layout_width="100dp"
android:layout_height="100dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:id="@+id/imageview"/>
3、开始动画
val imageView:ImageView = findViewById(R.id.imageview)
val anim = imageView.drawable as AnimationDrawable
anim.start()