Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:Thread.sleep()不工作_Java_Android_Android Animation - Fatal编程技术网

Java Android:Thread.sleep()不工作

Java Android:Thread.sleep()不工作,java,android,android-animation,Java,Android,Android Animation,在我的android应用程序中,我想在一些图像视图上应用一个动画,实现延迟。当第一个imageView设置了50%的动画时,我想启动第二个imageView的animation,然后继续这样做 我为此使用了Thread.sleep()方法 public void showImage() throws IOException, InterruptedException{ final Animation anim = AnimationUtils.loadAnimation(Home.thi

在我的android应用程序中,我想在一些
图像视图
上应用一个
动画
,实现延迟。当第一个
imageView
设置了50%的动画时,我想启动第二个
imageView
animation
,然后继续这样做

我为此使用了
Thread.sleep()
方法

public void showImage() throws IOException, InterruptedException{
    final Animation anim = AnimationUtils.loadAnimation(Home.this,R.anim.myanimation);



    image_1.setImageUrl(links[0]); 
    image_2.setImageUrl(links[1]); 
    image_3.setImageUrl(links[2]);
    image_4.setImageUrl(links[3]);

    image_5.setImageUrl(links[4]); 
    image_6.setImageUrl(links[5]); 
    image_7.setImageUrl(links[0]); 
    image_8.setImageUrl(links[1]); 
    //System.out.println("me");

    image_1_layer.setAnimation(anim); 
    Thread.sleep(5000);
    image_2_layer.setAnimation(anim); 
    Thread.sleep(5000);
    image_3_layer.setAnimation(anim);
    Thread.sleep(5000);
     image_4_layer.setAnimation(anim); 
     Thread.sleep(5000);

     image_5_layer.setAnimation(anim);
     Thread.sleep(5000);
     image_6_layer.setAnimation(anim);
     Thread.sleep(5000);
     image_7_layer.setAnimation(anim);
     Thread.sleep(5000);
     image_8_layer.setAnimation(anim);
     Thread.sleep(5000);
}
但当它运行应用程序时,它会延迟启动任何
动画
,然后并行设置所有
图像视图的动画。在上一个
imageView
动画
播放5秒后,如何开始制作下一个
imageView
的动画


我使用
线程从override方法
onPostExecute()
调用了上面的
showImage()
方法。睡眠
是一种不正确的实现方法。你应该看看这个课程,特别是


您可以使用不同的(复合的)开始时间构造不同的动画对象,并将它们全部应用于视图,也可以使用

侦听动画事件,以阻止ui线程。请停止这样做。为自己设置一个异步计时器,它将调用回调。您不能在UI线程中使用
线程。为此,请在UI线程中使用sleep
。这会阻止线程维护您的UI。