2012-05-25 124 views
8

我在佈局上有ImageButton視圖。如果用戶點擊ImageButton,按鈕應該淡出。Android Alpha動畫:動畫結束後Alpha值跳回舊值

按鈕淡出動畫將這樣開始:

public void buttonClicked(View aButton){ 

    final Animation aAnim = new AlphaAnimation(1.0f, 0.0f); 
    aAnim.setDuration(500); 

    aButton.startAnimation(aAnim); 

} 

這工作,但只要ImageButton的淡出,它的阿爾法值跳右後衛爲1.0,該按鈕再次可見。

我用Animation Listener臨時解決了它,它將ButtonImage設置爲在動畫結束時不可見,但對我來說似乎是一個奇怪的解決方案。

我需要做些什麼才能將按鈕的Alpha值保留在動畫的最後值?

謝謝。

+0

您的「奇怪的解決方案」是要走的路。這是蜂窩之前的android動畫已知的問題。更簡單的方法是MikeT的方法,但它並不總是按照您期望的方式工作 –

回答

22

嘗試使用aAnim.setFillAfter(true);

+0

謝謝Mike!而已! – Tom

1

如果您想在動畫完成後,您必須設置「setFillAfter」爲true,設置新的價值。

public void buttonClicked(View aButton){  
    final Animation aAnim = new AlphaAnimation(1.0f, 0.0f); 
    aAnim.setDuration(500); 

    aAnim.setFillAfter(true); 
    aButton.startAnimation(aAnim); 
} 
+0

aAnim.setFillAfter(true); < - 動畫獲取修飾符,而不是按鈕本身。 – LoungeKatt