Android动画 对fillBefore 和 fillAfter的理解


fillBefore是指动画结束时画面停留在第一帧,fillAfter是指动画结束是画面停留在最后一帧。

最关键的问题是,这2个参数不能在</alpha>,</scale>,</translate>,</rotate>中设置,这是没有用的,必须

1)在动画xml文件的</set>节点中设置,

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:Android="http://schemas.android.com/apk/res/android"  
  3.     android:fillEnabled="true"  
  4.     android:fillAfter="true">  
  5.     <translate    
  6.         android:interpolator="@android:anim/cycle_interpolator"  
  7.         android:fromXDelta="0"  
  8.         android:toXDelta="200"  
  9.         android:fromYDelta="0"  
  10.         android:toYDelta="-50"  
  11.         android:duration="10000"  
  12.         >   
  13.     </translate>   
  14.    
  15. </set>  

或者

2)在java代码中设置。

  1. setFillAfter(true);  
  2. setFillBefore(false);  

相关内容