【发布时间】:2011-12-06 16:19:03
【问题描述】:
我正在尝试将帧和持续时间添加到 AnimationDrawable,但我无法获得我想要的结果。我可以添加框架,但后续调用不会清除旧框架。有没有办法重置 AnimationDrawable?
这是我的代码的摘录:
public void animate() {
if (a != null && a.isRunning()) {
a.stop();
}
//iv.setImageDrawable(null);
//iv.setBackgroundDrawable(null);
iv.setBackgroundResource(R.drawable.blank_animation);
a = (AnimationDrawable) iv.getBackground();
a.addFrame(res.getDrawable(R.drawable.blank), 1);
for (int i=0;i<Frames.size();i++) {
a.addFrame(res.getDrawable(Frames.get(i)), AnimationSpeed);
}
a.addFrame(res.getDrawable(R.drawable.blank), 1);
a.setOneShot(true);
a.start();
}
我尝试了以下方法但没有成功清除 ImageView 和/或 AnimationDrawable。
iv.setImageDrawable(null);
iv.setBackgroundDrawable(null);
a = new AnimationDrawable();
iv.clearAnimation();
我还尝试将 ImageView 设为 null 并重新创建它,但并没有重置框架。
任何帮助将不胜感激。
【问题讨论】:
标签: java android imageview android-animation