0

我试图在执行 AsyncTask 之前做一些动画,但似乎 AsyncTask 在完成 ainmation(TranslateAnimation)之前执行。无论如何我可以延迟 AsyncTask 直到动画完成?

TranslateAnimation aim = new TranslateAnimation(0, 0, 0, (y/4));
aim.setDuration(600);
aim.setFillAfter(true);
btn.startAnimation(aim);
new MyAsyncTask().execute(sTitle);  
4

1 回答 1

2

似乎您需要尝试setAnimationListener。代码如下所示:

TranslateAnimation aim = new TranslateAnimation(0, 0, 0, (y/4));
aim.setDuration(600);
aim.setFillAfter(true);
aim.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(final Animation animation) {
        // TODO: autogenerated code
    }

    @Override
    public void onAnimationEnd(final Animation animation) {
        new MyAsyncTask().execute(sTitle);
    }

    @Override
    public void onAnimationRepeat(final Animation animation) {
        // TODO: autogenerated code
    }
});
btn.startAnimation(aim);
于 2013-06-17T01:18:30.057 回答