如何在java中完成动画后调用方法?

时间:2016-04-02 19:12:40

标签: java animation

我想在动画骰子后调用一个方法

这是我的代码:

//animation:

public void rollDice(){

    diceImageView.animate()
            .rotation(1800)
            .setDuration(2000);

//method I want to call:

    checkNumber();

}

当我致电rollDice()时,您无法看到动画,它只是跳过动画并调用方法checkNumber()

如何等到动画完成以调用方法checkNumber()

1 个答案:

答案 0 :(得分:1)

嗯,这通常是通过回调完成的,因为我认为该动画在一个单独的线程中运行。 该动画的API应该做的是声明一个回调接口:

public interface AnimationCallback {
    public void onAnimationDone();
}

在其API中添加一个方法,用实例注册该类,然后在动画之后调用回调。如果它不是你的动画API,那么你可能不得不尝试在该动画的持续时间内休眠当前线程,但这对我来说似乎是非常糟糕的做法。