我想在动画骰子后调用一个方法
这是我的代码:
//animation:
public void rollDice(){
diceImageView.animate()
.rotation(1800)
.setDuration(2000);
//method I want to call:
checkNumber();
}
当我致电rollDice()
时,您无法看到动画,它只是跳过动画并调用方法checkNumber()
。
如何等到动画完成以调用方法checkNumber()
?
答案 0 :(得分:1)
嗯,这通常是通过回调完成的,因为我认为该动画在一个单独的线程中运行。 该动画的API应该做的是声明一个回调接口:
public interface AnimationCallback {
public void onAnimationDone();
}
在其API中添加一个方法,用实例注册该类,然后在动画之后调用回调。如果它不是你的动画API,那么你可能不得不尝试在该动画的持续时间内休眠当前线程,但这对我来说似乎是非常糟糕的做法。