2

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

提前致谢。

4

2 回答 2

1

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

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

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

于 2013-04-11T06:22:55.490 回答
0

对我来说,这很有效:

animationView.setBackgroundResource(0);

只需为对应的 ImageView 设置 BackgroundResource null

于 2017-09-14T11:55:09.167 回答