关于Android Animation的setFillBefore、setFillAfter和setFillEnable
1. 如果是独立的Animation,只有setFillAfter有效,设置为true动画结束后保持最后的状态
2. 如果是AnimationSet中的Animation,因为Animation的作用周期可能位于整个AnimationSet动画周期的中间一部分,setFillBefore设置的是在这个动画被执行前是否启用这个动画的第一帧效果填充开始前的动画,setFillAfter设置的是在这个动画结束后是否保留这个动画的最后一帧的效果填充后面的动画,而这两个设置必须同时设置setFillEnable
3. 如果想这个AnimationSet结束后保留最后的结果,需要设置AnimationSet的setFillAfter
补充:当setFillEnable为false时,通过查看源码可知在AnimationSet中自身的动画周期不受setFillBefore和setFillAfter控制;当Animation独立存在时,或AnimationSet的setFillAfter为true时,ViewGroup会读取getFillAfter值,如果为true,不clearAnimation,也就保持了最终的状态