在android FOR LOOP中没有等待translateAnimation在其中完成

时间:2015-01-14 15:32:04

标签: android android-layout android-activity translate-animation

我试图在其中运行translateAnimation() imageview的for循环。对于每次迭代,imageview必须在前面移动i*20次(如果可能的话,在曲线中)。但 for循环执行完全不等待每个动画。因此动画只执行一次(最后ith次),而不是i次。请帮帮我!!!

`

for(int i=m;i<=y;i++) {
     int w=20*i
     TranslateAnimation translate = new TranslateAnimation(0,w,0,0);
     myAnimation1.setVisibility(View.VISIBLE);
     translate.setDuration(1000);
     translate.setFillAfter(false);
     myAnimation1.startAnimation(translate);
     myAnimation1.setVisibility(View.INVISIBLE);
}'

1 个答案:

答案 0 :(得分:0)

您是否尝试过添加动画监听器? http://developer.android.com/reference/android/animation/Animator.AnimatorListener.html

这样的东西
public void startNextAnimation(int count) {
if (count != 0)
   //setup next animation
else
   //done
myAnimation1.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {

        }

        @Override
        public void onAnimationEnd(Animation animation) {
            startNextAnimation(countdown);
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    });