2012-08-10 114 views
0

我試圖在一個AnimationSet中放入兩個alpha動畫,如下所示,但是當我運行它時,會發生第一個(淡出)動畫,但它對於下一個動畫仍然是空白的。我知道我可以使用repeatMode="reverse"來做到這一點,但我想知道爲什麼這不起作用,以防我想做更多的事情。謝謝。android兩個alpha動畫

<?xml version="1.0" encoding="utf-8"?> 
    <set xmlns:android="http://schemas.android.com/apk/res/android" > 
     <alpha 
      android:duration="1000" 
      android:fillAfter="false" 
      android:fromAlpha="1.0" 
      android:toAlpha="0.0" /> 
     <alpha 
      android:duration="1000" 
      android:fillBefore="false" 
      android:fillEnabled="true" 
      android:fromAlpha="0.0" 
      android:startOffset="1000" 
      android:toAlpha="1.0" /> 
    </set> 
+0

當你像這樣運行時它會做什麼?你可以嘗試在第一個上設置'fillAfter =「true」'。 – FoamyGuy 2012-08-10 01:28:21

+0

在''標籤中有兩次相同的項目可以嗎? – iTurki 2012-08-10 01:38:05

+0

@FoamyGuy:沒有任何反應......視圖消失2秒鐘,然後重新出現。 – buntwoi 2012-09-04 06:37:15

回答

1

我來到這篇文章後面有同樣的想法。我現在已經測試了這一個。 意想不到的是它的工作完美。這裏是我的代碼。

<alpha 
     android:duration="1000" 
     android:fromAlpha="0.25" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:repeatMode="reverse" 
     android:startOffset="500" 
     android:toAlpha="1.0" /> 
    <alpha 
     android:duration="1000" 
     android:fromAlpha="1.0" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:repeatMode="reverse" 
     android:startOffset="3500" 
     android:toAlpha="0.25" /> 

第一個將alpha設置爲更高的值,並在一段時間後使用第二個alpha將其拉低。 儘管沒有設置repeatcount並且沒有重複發生,請確保將「repeatMode」添加爲「反向」。發生的實際流量不是逆轉第一個alpha,而是切換到第二個alpha來進行反向操作。