帧动画:是指多张图片快速切换
先看一下实现的效果
实现方式
第一步:使用Android Studio创建一个Android工程,并且在drawable文件夹中添加创建帧动画时每一帧用到的图片
第二步:在drawable文件夹下新建一个frameanimation.xml文件,并在frameannimation.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/g1" android:duration="200" />
<item android:drawable="@drawable/g2" android:duration="200" />
<item android:drawable="@drawable/g3" android:duration="200" />
<item android:drawable="@drawable/g4" android:duration="200" />
<item android:drawable="@drawable/g5" android:duration="200" />
<item android:drawable="@drawable/g6" android:duration="200" />
<item android:drawable="@drawable/g7" android:duration="200" />
<item android:drawable="@drawable/g8" android:duration="200" />
<item android:drawable="@drawable/g9" android:duration="200" />
<item android:drawable="@drawable/g10" android:duration="200" />
<item android:drawable="@drawable/g11" android:duration="200" />
</animation-list>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.fyt.frameanimation.MainActivity"
android:orientation="vertical">
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
最后一步:修改MainActivity.java文件
package com.fyt.frameanimation;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.ImageView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获得布局文件上的ImageView控件
ImageView iv = (ImageView) findViewById(R.id.iv);
//把帧动画的资源文件指定为ImageView的背景
iv.setBackgroundResource(R.drawable.frameanimation);
//获取ImageView的背景
AnimationDrawable ad = (AnimationDrawable) iv.getBackground();
//播放帧动画
ad.start();
}
}