0

我正在尝试创建一个可绘制的动画,它只具有两个帧并在屏幕上循环。

但是,由于某种原因,我的 Animationdrawable 甚至没有做一轮,只是显示了第一帧,更不用说循环了......

这是我的代码:

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 回答