美文网首页Android开发经验谈Android知识
【BUG系列】Android 帧动画第二次不播放

【BUG系列】Android 帧动画第二次不播放

作者: Wing_Li | 来源:发表于2017-08-29 18:36 被阅读282次

    如果本文帮助到你,本人不胜荣幸,如果浪费了你的时间,本人深感抱歉。
    希望用最简单的大白话来帮助那些像我一样的人。如果有什么错误,请一定指出,以免误导大家、也误导我。
    本文来自:http://www.jianshu.com/users/320f9e8f7fc9/latest_articles
    感谢您的关注。

    Android 帧动画第二次就不动了,也是奇怪的很。
    帧动画的具体使用这里就不介绍了,能遇到问题的,肯定都是已经知道怎么用了。

    一般用法:

    animationIV.setImageResource(R.drawable.animation1); // animation-list 的 .xml
    animationDrawable = (AnimationDrawable) animationIV.getDrawable();
    animationDrawable.start();
    

    一般都是这么用的。
    但是在 HTC_D820ys 和 努比亚Z9 mini NX511J 手机上,第一次可以动,但是第二次就不动了。原因未知。
    改法就是换了一种获取动画图片的方式,如下:

    animationIV.clearAnimation();
    animationDrawable = (AnimationDrawable) getResources().getDrawable(R.drawable.link_btn_anim);
    animationIV.setImageDrawable(animationDrawable);
    animationDrawable.start();
    

    这样就可以正常播放动画了。


    推测原因:

    1. 在某些机型上 每个 View 上面的 getDrawable() 帧动画只能 start() 一次,所以每次进来要把动画重新获取一遍。
    2. 也可能是因为在某些机型上 animationIV.getDrawable() 这个方法只能获取最后一帧的图片,意思就是动画播放完了。

    相关文章

      网友评论

        本文标题:【BUG系列】Android 帧动画第二次不播放

        本文链接:https://www.haomeiwen.com/subject/ydladxtx.html