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
,所以动画参数在动画之后应用。
添加回答
举报