Java Android:Thread.sleep()不工作
在我的android应用程序中,我想在一些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
图像视图
上应用一个动画
,实现延迟。当第一个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。