關於Android Animation的setFillBefore、setFillAfter和setFillEnable

1. 若是是獨立的Animation,只有setFillAfter有效,設置爲true動畫結束後保持最後的狀態動畫

2. 若是是AnimationSet中的Animation,由於Animation的做用週期可能位於整個AnimationSet動畫週期的中間一部分,setFillBefore設置的是在這個動畫被執行前是否啓用這個動畫的第一幀效果填充開始前的動畫,setFillAfter設置的是在這個動畫結束後是否保留這個動畫的最後一幀的效果填充後面的動畫,而這兩個設置必須同時設置setFillEnableget

3. 若是想這個AnimationSet結束後保留最後的結果,須要設置AnimationSet的setFillAfter源碼

 

補充:當setFillEnable爲false時,經過查看源碼可知在AnimationSet中自身的動畫週期不受setFillBefore和setFillAfter控制;當Animation獨立存在時,或AnimationSet的setFillAfter爲true時,ViewGroup會讀取getFillAfter值,若是爲true,不clearAnimation,也就保持了最終的狀態io

相關文章
相關標籤/搜索