我正在尝试创建一个可绘制的动画,它只需要两个框架并在屏幕上循环。
然而,出于某种原因,我的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();
}
谢谢!
答案 0 :(得分:0)
你无法像一个接一个地开始和停止一样,动画恰好是一个aysnc过程。
您必须找到另一种方法,例如,当animationdrawable超出帧时创建一个侦听器,然后重新调用动画。
在这里查看提示。 Android AnimationDrawable and knowing when animation ends