如何在动画结束前暂停执行代码

时间:2010-07-10 08:24:33

标签: java android

public void startGameButtonClicked(View view){         final TextView shadow =(TextView)findViewById(R.id.main_menu_start_game_button_shadow);

    final Animation animation = AnimationUtils.loadAnimation(this, R.anim.main_menu);
    shadow.startAnimation(animation);

    /** Ugly prototype pausing */
    final long startTime = System.currentTimeMillis();
    while ((System.currentTimeMillis() - startTime) < 600) {
        Log.i("test", Boolean.toString(animation.hasEnded()));
    }


    final Intent intent = new Intent();
    intent.putExtra(EXTRA_BUTTON_ID, START_GAME_BUTTON);

    setResult(RESULT_OK, intent);

    finish();
}

我的动画持续时间= 400,如何在调用shadow.startAnimation(动画)后暂停除动画之外的所有内容; ? 我问你,因为你可以看到 - 动画设置为按钮点击动作,它会杀死当前活动,所以动画没有完全显示。

1 个答案:

答案 0 :(得分:1)

您必须定义“暂停所有内容”才能获得答案。

我建议在您的Activity中实现AnimationListener,并将其指向动画。然后在onAnimationEnd()中调用finish()。