【问题标题】:How can i pause executing code until animation finishes如何在动画完成之前暂停执行代码
【发布时间】:2010-07-10 08:24:33
【问题描述】:

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(animation); 后暂停除动画之外的所有内容; ? 我问是因为,如您所见 - 为按钮单击操作设置了动画,这会杀死当前活动,因此动画没有完全显示。

【问题讨论】:

    标签: java android


    【解决方案1】:

    您必须定义“暂停一切”才能得到答案。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多