Android動畫之Interpolator和AnimationSet(三)
阿新 • • 發佈:2018-12-23
AnimationSet可以加入Animation,加入之後設定AnimationSet對加入的所有Animation都有效。
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可以一起執行
<?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。