0

画面に 2 つのフレームとループがあるだけのアニメーション ドローアブルを作成しようとしています。

ただし、何らかの理由で、私の Animationdrawable は 1 ラウンドも実行せず、最初のフレームを表示するだけです。ループは言うまでもありません...

これが私のコードです:

Handler handler = new Handler();
AnimationDrawable mouseani = new AnimationDrawable();
ImageView img;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Drawable mouse1 = getResources().getDrawable(R.drawable.mouse_for_use);
    Drawable mouse2 = getResources().getDrawable(R.drawable.mouse_for_use_2);
    mouseani.addFrame(mouse1, 500);
    mouseani.addFrame(mouse2, 500);
    img = (ImageView) findViewById(R.id.imgView);
    img.setBackgroundDrawable(mouseani);
    mouseani.setCallback(img);
    mouseani.setVisible(true, true);
    mouseani.start();
    mouseani.stop();
}

ありがとう!

4

1 に答える 1

0

次々と開始して停止することはできません。アニメーションはたまたま aysnc プロセスです。

別の方法を見つける必要があります。たとえば、animationdrawable がフレーム外になったときのリスナーを作成してから、アニメーションを再度呼び出す必要があります。

ヒントはこちらをご覧ください。 Android AnimationDrawable とアニメーションの終了タイミングを知る

于 2012-07-17T13:24:01.700 に答える