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

如果本文帮助到你,本人不胜荣幸,如果浪费了你的时间,本人深感抱歉。
希望用最简单的大白话来帮助那些像我一样的人。如果有什么错误,请一定指出,以免误导大家、也误导我。
本文来自: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() 这个方法只能获取最后一帧的图片,意思就是动画播放完了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,752评论 25 709
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,729评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,569评论 5 13
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,770评论 4 61
  • 马云曾说过,“人还是要有梦想的,万一实现了呢?”,在这个世界里,我们几乎都有梦想,只是或大或小,不同而已。可是,...
    一本书一碗茶阅读 1,666评论 0 1

友情链接更多精彩内容