如果本文幫助到你,本人不勝榮幸耻涛,如果浪費(fèi)了你的時間废酷,本人深感抱歉。
希望用最簡單的大白話來幫助那些像我一樣的人抹缕。如果有什么錯誤澈蟆,請一定指出,以免誤導(dǎo)大家歉嗓、也誤導(dǎo)我丰介。
本文來自:http://www.reibang.com/users/320f9e8f7fc9/latest_articles
感謝您的關(guān)注。
Android 幀動畫第二次就不動了,也是奇怪的很哮幢。
幀動畫的具體使用這里就不介紹了带膀,能遇到問題的,肯定都是已經(jīng)知道怎么用了橙垢。
一般用法:
animationIV.setImageResource(R.drawable.animation1); // animation-list 的 .xml
animationDrawable = (AnimationDrawable) animationIV.getDrawable();
animationDrawable.start();
一般都是這么用的垛叨。
但是在 HTC_D820ys 和 努比亞Z9 mini NX511J 手機(jī)上,第一次可以動柜某,但是第二次就不動了嗽元。原因未知。
改法就是換了一種獲取動畫圖片的方式喂击,如下:
animationIV.clearAnimation();
animationDrawable = (AnimationDrawable) getResources().getDrawable(R.drawable.link_btn_anim);
animationIV.setImageDrawable(animationDrawable);
animationDrawable.start();
這樣就可以正常播放動畫了剂癌。
推測原因:
- 在某些機(jī)型上 每個 View 上面的 getDrawable() 幀動畫只能 start() 一次,所以每次進(jìn)來要把動畫重新獲取一遍翰绊。
- 也可能是因?yàn)樵谀承C(jī)型上 animationIV.getDrawable() 這個方法只能獲取最后一幀的圖片佩谷,意思就是動畫播放完了。