我在项目中使用动画序列。我已将onClickListener设置为我放置动画序列的图像。现在,当我第一次运行代码,然后单击图像时,它开始正确运行动画,但之后它再也不会再次运行了。我必须再次运行代码。那我怎么能多次运行动画序列呢?我把我的代码放在下面开始动画序列。
image.setOnClickListener(new OnClickListener(){
@Override public void onClick(View v) { // TODO Auto-generated method stub animation_door = (AnimationDrawable) image.getBackground(); animation_door.start();
}});
答案 0 :(得分:2)
那么,在再次点击你的按钮之前你也必须停止动画,所以你可以这样试试,
image.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
animation_door = (AnimationDrawable) image.getBackground();
animation_door.stop();
animation_door.start();
}
});
答案 1 :(得分:1)
您的动画是否设为oneShot?它最有可能处于最终状态,你只需要将其提示回到开始状态。
AnimationDrawable door = (AnimationDrawable) image.getBackground();
door.setOneShot(false);
door.start();
请记住,这很可能会导致您可能不想要的循环动画。您可以考虑使用Animation Set,因为您可以更好地控制动画本身。