我製作了三個ObjectAnimator的AnimatorSet,我希望重複序列化。Loop AnimatorSet
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:ordering="sequentially">
<objectAnimator
android:propertyName="rotation"
android:duration="300"
android:valueFrom="0"
android:valueTo="5"
android:valueType="floatType"/>
<objectAnimator
android:propertyName="rotation"
android:duration="600"
android:valueFrom="5"
android:valueTo="-5"
android:valueType="floatType"/>
<objectAnimator
android:propertyName="rotation"
android:duration="300"
android:valueFrom="-5"
android:valueTo="0"
android:valueType="floatType"/>
</set>
但如果我設置CycleInterpolator到AnimatorSet因爲動畫師將開始sequentally
公共無效setInterpolator(TimeInterpolator插值) 在API級別11
設置TimeInterpolator目前所有此AnimatorSet的兒童動畫。
所以我試着通過設置一個監聽器來重新啓動AnimatorSet來循環,但是它停止了幾毫秒,並且重新啓動AnimatorSet的效果是顯而易見的。
a.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation)
{
animation.start();
}
});
我可以做什麼循環它(除非建立一個龐大的ObjectAnimators的列表或寫我自己的動畫使用線程和處理程序)?
您指的是動畫。動畫師對象沒有這樣的方法。 –
yes確實如此:http://developer.android.com/reference/android/animation/ValueAnimator.html#INFINITE – Budius
ValueAnimator有,但我使用了AnimatorSet(它擴展了Animator,而不是ValueAnimator)。 –