【问题标题】:Possible to addFrame but not to removeFrame on AnimationDrawable?可以在 AnimationDrawable 上添加框架但不能删除框架?
【发布时间】:2013-04-11 06:00:43
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: android animation android-imageview animationdrawable


    【解决方案1】:

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

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

    如果有更有效的方法来处理这个问题,请告诉我。因为我猜在几毫秒内一遍又一遍地创建一个新对象可能会导致内存问题。

    【讨论】:

      【解决方案2】:

      对我来说这很有效:

      animationView.setBackgroundResource(0);
      

      只要给对应的ImageView设置BackgroundResource为null

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-06
        • 2017-01-27
        • 1970-01-01
        • 2021-12-18
        • 2014-04-30
        • 2016-10-30
        相关资源
        最近更新 更多