Android 将延迟添加到While循环以完成动画

Android 将延迟添加到While循环以完成动画,android,Android,我使用的SwipeSample有一个动画xml,可以从左向右滑动布局等。每个动画的持续时间设置为800 我有一个while循环,检查用户单击的位置,然后循环动画以完成循环 我的发现是,如果我在当前位置1,我想转到0,动画效果很好。如果我在位置6,并且想要转到0,则布局似乎在一次点击中滑过,循环不允许在每次通过之前播放动画时间 是否可以在while循环中添加延迟,或者我应该使用另一种方法 代码如下: 案例R.id.EditTYellow: System.out.println(“文本黄色按下”)

我使用的SwipeSample有一个动画xml,可以从左向右滑动布局等。每个动画的持续时间设置为800

我有一个while循环,检查用户单击的位置,然后循环动画以完成循环

我的发现是,如果我在当前位置1,我想转到0,动画效果很好。如果我在位置6,并且想要转到0,则布局似乎在一次点击中滑过,循环不允许在每次通过之前播放动画时间

是否可以在while循环中添加延迟,或者我应该使用另一种方法

代码如下:

案例R.id.EditTYellow: System.out.println(“文本黄色按下”)

我尝试添加一个线程。sleep(800),但它似乎不起作用

            try {
                Thread.sleep(800);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

睡眠是邪恶的。用它来解决同步问题是一个很大的禁忌。android中的动画可以让你知道它们何时完成。。。通过AnimationListener回调。将侦听器设置到动画(slideRightIn,slideRightOut)中,动画本身将告诉您何时完成,之后您可以执行任何您想要的操作

slideRightIn.setAnimationListener(new AnimationListener() {
    public void onAnimationStart(Animation animation) {

        }

    public void onAnimationRepeat(Animation animation) {

    }

    public void onAnimationEnd(Animation animation) {
      // will be called when your animation is complete 
    }
});
slideRightIn.setAnimationListener(new AnimationListener() {
    public void onAnimationStart(Animation animation) {

        }

    public void onAnimationRepeat(Animation animation) {

    }

    public void onAnimationEnd(Animation animation) {
      // will be called when your animation is complete 
    }
});