点击测验应用程序后的按钮动画(Android)

时间:2012-06-09 23:30:29

标签: android

我有测验应用。当有人点击正确答案时,按钮应该改变颜色为绿色,之后我想加载新问题(我在ListArray中有它)。重要的是:应该等到动画结束(此时所有按钮都被禁用),然后加载下一个问题。

有人能给我一个提示怎么做吗?

2 个答案:

答案 0 :(得分:4)

动画完成后,您可以使用处理程序发布。如果你的动画是3秒,那你就是这样做的。

Handler mHandler = new Handler();
Runnable codeToRun = new Runnable() {
    @Override
    public void run() {
        loadNewQuestion();
    };
mHandler.postDelayed(codeToRun, 3000); //Runs the runnable on the UI thread after 3 sec

或者您可以设置动画监听器(处理程序更好)

Animation myAnim = AnimationUtils.loadAnimation(context, R.anim.my_anim);
Runnable codeToRun = new Runnable() {
    @Override
    public void run() {
        loadNewQuestion();
    }
};
AnimationListener myAnimationListener = new AnimationListener() {
    @Override
    public void onAnimationEnd(Animation animation) {
        runOnUiThread(codeToRun);
    }
};
myAnim.setAnimationListener(myAnimationListener);
button.startAnimation(myAnim);

答案 1 :(得分:1)

这比听起来更棘手。您需要在主(GUI)线程以外的线程上操作问题。尝试查看本教程以了解Handler。

http://www.vogella.com/articles/AndroidPerformance/article.html#handler