0

私はAndroidアプリケーションを開発していて、ボタンアニメーションを実行する必要があります。

私はボタンとは異なる2つの画像であり、ボタンのsetBackgroundに、この2つの画像を500ミリ秒の遅延で、合計2秒で交互に表示したいと考えています。

これを実行して、プログラムを実行するときにアニメーションの終了を待機させるにはどうすればよいですか?

私のボタンには背景とテキストがあります。このOrderSeQuenceが必要です:[ボタン]->[アラート]ダイアログ->[はい]の場合は[ダイアログを終了]->[アニメーションの呼び出し](すべてのアクティビティはこのアニメーションを待機します)->アニメーションの最後に別の関数を呼び出してプログラムを続行します

よろしく

4

1 に答える 1

1

'frame' という名前のドローアブルに xml の下に配置します (たとえば、frame0 と frame1 は 2 つの異なるイメージです)。

<animation-list android:id="@+id/my_animation"
    android:oneshot="true" xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/frame0" android:duration="500" />
    <item android:drawable="@drawable/frame1" android:duration="500" />
    <item android:drawable="@drawable/frame0" android:duration="500" />
    <item android:drawable="@drawable/frame1" android:duration="500" />
</animation-list> 

以下のコードをレイアウトxmlに入れます

      <ImageButton
        android:id="@+id/imageView"
        android:src="@drawable/frame"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

以下のコードを oncreate() メソッドに使用します

        ImageButton img = (ImageButton)findViewById(R.id.imageView);
        AnimationDrawable frameAnimation =    (AnimationDrawable)img.getDrawable();
        frameAnimation.setCallback(img);
        frameAnimation.setVisible(true, true);
        frameAnimation.start(); 
于 2012-06-01T04:51:44.793 に答える