android動畫 對fillBefore 和 fillAfter的理解

fillBefore是指動畫結束時畫面停留在第一幀,fillAfter是指動畫結束是畫面停留在最後一幀。
 
最關鍵的問題是,這2個參數不能在</alpha>,</scale>,</translate>,</rotate>中設置,這是沒有用的,必須
 
1)在動畫xml文件的</set>節點中設置,
 
[html] <?xml version="1.0" encoding="utf-8"?>
 <set xmlns:android="https://schemas.android.com/apk/res/android"
     android:fillEnabled="true"
     android:fillAfter="true">
     <translate  
         android:interpolator="@android:anim/cycle_interpolator"
         android:fromXDelta="0"
         android:toXDelta="200"
         android:fromYDelta="0"
         android:toYDelta="-50"
         android:duration="10000"
         > 
     </translate> 
  
 </set>
 <?xml version="1.0" encoding="utf-8"?>
 <set xmlns:android="https://schemas.android.com/apk/res/android"
  android:fillEnabled="true"
  android:fillAfter="true">
  <translate
      android:interpolator="@android:anim/cycle_interpolator"
      android:fromXDelta="0"
      android:toXDelta="200"
      android:fromYDelta="0"
      android:toYDelta="-50"
      android:duration="10000"
      >
  </translate>
 
 </set>
 
 
 
或者
 
2)在java代碼中設置。
 
[java] setFillAfter(true);
 setFillBefore(false);
 
摘自qiaoning13256的專欄

 

發佈留言