AnimationSet可以加入Animation,加入之後設置AnimationSet對加入的所有Animation都有效。
[java]
AnimationSet anim=new AnimationSet(true);
AlphaAnimation a=new AlphaAnimation(1,0);
RotateAnimation ra=new RotateAnimation(0, 720, Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f);
anim.addAnimation(a);
anim.addAnimation(ra);
anim.setDuration(3000);
anim.setStartOffset(1000);
iv.startAnimation(anim);
AnimationSet anim=new AnimationSet(true);
AlphaAnimation a=new AlphaAnimation(1,0);
RotateAnimation ra=new RotateAnimation(0, 720, Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f);
anim.addAnimation(a);
anim.addAnimation(ra);
anim.setDuration(3000);
anim.setStartOffset(1000);
iv.startAnimation(anim);
可以再xml文件中定義多個Animation,這樣多個Animation可以一起運行
[html]
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true"
>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:startOffset="500"
android:duration="3000"
/>
<rotate
android:fromDegrees="0"
android:toDegrees="400"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
/>
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true"
>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:startOffset="500"
android:duration="3000"
/>
<rotate
android:fromDegrees="0"
android:toDegrees="400"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
/>
</set>
Interpolator可以定義動畫播放的速度
在xml文件中定義Interpolator
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true"
這樣所有的Animation共用一個Interpolator。
在代碼中用代碼設置如下
anim.setInterpolator(new AccelerateInterpolator());
在new一個AnimationSet中傳入true則所有的Animation共用Interpolator