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,所以動畫參數在動畫之后應用。
添加回答
舉報
