2012-12-04 33 views
0

我遇到了這個令人討厭的問題,我有2個片段,並且我正在Fragments getView()組件上運行3d翻轉動畫。問題出現在這裏,當翻轉完成時,我嘗試設置另一個視圖不可見,但沒有任何反應。看起來,動畫仍然爲視圖,如果我setAnimation(null)clearAnimation爲視圖,整個視圖被重置爲開始狀態。Android片段動畫實際上並沒有完成

我也做了一些測試,只是爲視圖運行alpha動畫,之後我無法再改變視圖的可見性。任何解決方案或破解這種問題?

謝謝。

這裏是重現問題的小代碼片段。

下面的代碼是跑的時候片段onCreateView已經調用了按鈕被點擊:

AlphaAnimation fadeHalf = new AlphaAnimation(1, 0.5f); fadeHalf.setFillAfter(true);

fadeHalf.setAnimationListener(new AnimationListener() { 

@Override 
public void onAnimationStart(Animation animation) { 
} 

@Override 
public void onAnimationRepeat(Animation animation) { 
} 

@Override 
public void onAnimationEnd(Animation animation) { 
    getView().setVisibility(View.GONE); 
}); 

getView().startAnimation(fadeHalf); 

所以運行上面的代碼時,整個片段視圖被轉換爲0.5Fα,但setVisilibity(View.GONE)什麼都不做。

回答

0

不確定這是否是您所需要的,但您可能在未來執行相同動畫時刪除該視圖並將其添加回來。

+0

沒有刪除視圖,只需清除動畫,然後設置可見性。你的解決方案也應該工作。 – Niko