我正在创建一个应随机更改的动画,因此我需要使用AnimationDrawable(是的,我无法通过使用Animation进行管理。)因此,基本上,我有一些图像视图,并且正在动态添加帧并将其设置为他们。到目前为止,一切正常。我可以看到动画有效,但是问题是一个动画完成后,我需要删除该imageView上的每个帧,然后向其中添加新的帧。但不幸的是,我找不到删除框架的方法...有没有办法做到这一点?还是只是烦人的缺乏?

提前致谢。

最佳答案

通过将animationDrawable设置为null,重新创建它,然后将其设置回imageview来进行管理。但是不确定这是否是一种有效的方法。我仍然认为应该有一个类似removeFrame的方法...无论如何,这是解决方案:

AnimationDrawable animationFrame = (AnimationDrawable) view.getDrawable();
animationFrame = null;
animationFrame = new AnimationDrawable();
// Do stuff...
view.setBackgroundDrawable(animationFrame);


请让我知道是否有更有效的方法来处理此问题。因为我猜想一次又一次创建一个新对象会导致内存问题。

08-18 07:50