2 回答

TA貢獻1784條經驗 獲得超8個贊
您可以使用AnimationListener
例子
yourFirstAnim.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
doYourNextAnim()
}
});
或者更簡單的方法,使用AnimatorSet()
AnimatorSet as = new AnimatorSet();
as.playSequentially(yourFirstAnim,
yourSecondAnim,
..,
...);
as.setDuration(YOUR_DURATION);
as.start();
更新 為了避免回調地獄,我們可以使用StartDelay
imgAvatar1.animate()
.alpha(1f)
.setDuration(YOUR_DURATION)
.start()
imgAvatar2.animate()
.alpha(1f)
.setStartDelay(YOUR_DURATION * 1)
.setDuration(YOUR_DURATION)
.start()
imgAvatar3.animate()
.alpha(1f)
.setStartDelay(YOUR_DURATION * 2)
.setDuration(YOUR_DURATION)
.start()

TA貢獻1772條經驗 獲得超5個贊
您正在使用您的AnimationSet()
.
問題可能出在參數上fillAfter
。
setFillAfter(true)
在你的動畫上使用rotate
,所以動畫參數在動畫之后應用。
添加回答
舉報