2

私のAndroidアプリでは、遅延を実装animationして一部に適用したいと考えています。imageViews1 番目のimageViewアニメーションが 50% になったら、 animation2 番目の開始を開始し、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. 前のimageView5 秒後に次のアニメーションを開始するにはどうすればよいですか?imageViewanimation

上記のshowImage()メソッドをオーバーライド メソッドから呼び出しましたonPostExecute()

4

1 に答える 1

3

を使用するThread.sleepことは、あなたが望むものを達成するための間違った方法です。クラスAnimation、特にsetStartTime.

異なる (合成された) 開始時間で異なるアニメーション オブジェクトを構築し、それらすべてをビューに適用するか、または次を使用してアニメーション イベントをリッスンすることができます。setAnimationListener

于 2013-02-05T10:04:20.663 に答える