Android AnimationDrawable创建和循环

时间:2012-05-11 17:04:19

标签: android animation imageview frame drawable

我正在尝试创建一个可绘制的动画,它只需要两个框架并在屏幕上循环。

然而,出于某种原因,我的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();
}

谢谢!

1 个答案:

答案 0 :(得分:0)

你无法像一个接一个地开始和停止一样,动画恰好是一个aysnc过程。

您必须找到另一种方法,例如,当animationdrawable超出帧时创建一个侦听器,然后重新调用动画。

在这里查看提示。 Android AnimationDrawable and knowing when animation ends