一.Frame動(dòng)畫簡(jiǎn)介
Frame動(dòng)畫又稱幀動(dòng)畫,在于Tween明顯的不同就是Tween動(dòng)畫只定義起點(diǎn)與終點(diǎn),但是Frame動(dòng)畫要把動(dòng)畫的每一幀都要定義,所以它需要一個(gè)list來(lái)裝所以item的幀,而且它的類型是AnimationDrawable,是放在drawable文件夾下的。
1.文件目錄:res/drawable/filename.xml
2.編譯資源數(shù)據(jù)類型 AnimationDrawable
以下就是一個(gè)基本的Frame定義
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot=["true" | "false"] >
<item android:drawable="@[package:]drawable/drawable_resource_name"
android:duration="integer" />
</animation-list>
二.Frame動(dòng)畫屬性
(1)<animation-list>根元素
必須作為根元素,包含一個(gè)或者多個(gè)根元素
屬性:android:oneshot :true:只執(zhí)行一次動(dòng)畫,false:循環(huán)執(zhí)行
(2)<item>一幀獨(dú)立動(dòng)畫
一幀獨(dú)立動(dòng)畫,必須是<animation-list> >的子元素
它的屬性有:
- android:drawable Drawable資源,用于這一幀的圖片
- android:duration **Integer類型.該幀的時(shí)長(zhǎng),單位為毫秒milliseconds. **
三. Frame動(dòng)畫案例
res/anim/rocket_thrust.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/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>
它的使用:
ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
rocketAnimation.start();