2012-08-28 85 views
10

可能重複:
Android: Animation Position Resets After Complete旋轉後ImageView將重置爲原始狀態?

我使用RotateAnimation旋轉的ImageView。代碼很簡單:

this.button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     Animation ani = new RotateAnimation(
       0, /* from degree*/ 
       30, /* to degree */ 
       Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); 
     ani.setDuration(1000); 
     imageView.startAnimation(ani); 
    } 
}); 

你可以看到我想讓imageView旋轉30度。

它可以工作,但旋轉完成後,圖像會回到原始狀態,旋轉前的位置和程度相同。 我想在最後修復ImageView動畫位置,即要修復傾斜30度的圖像。 如何解決它?

回答

18

我只找到一個解決辦法:

ani.setFillAfter(true); 

它的工作原理:)

0

這是在Android上使用動畫時的正常方式。

您可以:

  • 開始沒有時間一個新的動畫和「無限」的重複屬性,你旋轉內
  • 圖像手動將旋轉值在動畫的最後(但如果我沒有錯,你不能在沒有Android 3.0的情況下使用特定的動畫)。
相關問題