Android:Thread.sleep()不起作用

时间:2013-02-05 09:51:25

标签: java android android-animation

在我的Android应用中,我想对某些animation应用imageViews并实施延迟。当第一个imageView动画为50%时,我想开始第二个animation的{​​{1}}并继续这样做。

我使用了imageView方法。

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); } 之前延迟,然后对所有animation进行逐个动画处理。如何在上一个imageViews imageView的5秒后开始为下一个imageView制作动画?

我从覆盖方法animation调用了上述showImage()方法。

1 个答案:

答案 0 :(得分:3)

使用Thread.sleep是实现目标的错误方法。您应该查看Animation课程,特别是setStartTime课程。

您可以构建具有不同(复合)开始时间的不同动画对象,并将所有这些对象应用于视图,或者您可以使用setAnimationListener

收听动画事件