【BUG系列】Android 帧动画第二次不播放
2017-08-29 本文已影响282人
Wing_Li
如果本文帮助到你,本人不胜荣幸,如果浪费了你的时间,本人深感抱歉。
希望用最简单的大白话来帮助那些像我一样的人。如果有什么错误,请一定指出,以免误导大家、也误导我。
本文来自: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();
这样就可以正常播放动画了。
推测原因:
- 在某些机型上 每个 View 上面的 getDrawable() 帧动画只能 start() 一次,所以每次进来要把动画重新获取一遍。
- 也可能是因为在某些机型上 animationIV.getDrawable() 这个方法只能获取最后一帧的图片,意思就是动画播放完了。