2013-10-04 135 views
1

我有這個動畫應該將應用視圖從視圖中移出,同時將視圖移回視圖下方,然後回到視圖中,同時淡入淡出。Android Alpha /翻譯動畫

問題是,它似乎不會褪色 - 應用視圖的不透明度總是0.5

<?xml version="1.0" encoding="UTF-8" ?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 

    <translate 
     android:fromYDelta="0" 
     android:toYDelta="-200" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:duration="1995" 
     android:startOffset="3000" /> 
    <translate 
     android:fromYDelta="200" 
     android:toYDelta="0" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:duration="1995" 
     android:startOffset="8005" /> 

    <alpha 
     android:duration="500" 
     android:fromAlpha="1.0" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:repeatMode="reverse" 
     android:startOffset="3000" 
     android:toAlpha="0.5" /> 
    <alpha 
     android:duration="1995" 
     android:fromAlpha="0.5" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:repeatMode="reverse" 
     android:startOffset="8005" 
     android:toAlpha="1.0" /> 
</set> 

我已經嘗試了一些東西,它們築巢成套,消除插補等......這是工作用這太問題給出的示例中的唯一的事:這使我相信這是android two alpha animations與翻譯動畫結合時運行alpha動畫。

謝謝!

回答

0
你不需要使用兩個tranlate /阿爾法動畫得到你想要的東西,只要使用一個自定義的插補

編輯

:看從昨天Fade out animation works but opposite fade in animation does not

+0

當然REPEATMODE =和「反向」不應該在這裏出現 – pskink

+0

這是我從SO問題複製到得到它的工作(或不視情況而定)。我會給一個自定義插值器看看。 – Jamie

+0

看到我的修改回答 – pskink

3

這是我的答案是一個例子:

AnimationSet set = new AnimationSet(true); 
Animation trAnimation = new TranslateAnimation(0, 500, 0, 0); 
trAnimation.setDuration(6000); 

trAnimation.setRepeatMode(Animation.REVERSE); ---------> This will make the view translate in the reverse direction 

set.addAnimation(trAnimation); 
Animation anim = new AlphaAnimation(1.0f, 0.0f); 
anim.setDuration(3000); 
set.addAnimation(anim); 

txtView.startAnimation(set); --------> replace this with your view 

I hope this helps! You can change this and use the a layout based animation defining the alpha and translate animations under the set tag. 
+0

我應該提到我也嘗試過在'C#'(它是MonoDroid) - 完全一樣結果發生。 – Jamie

+0

謝謝@Rat。有效 – Prashant

2

你應該試試這個:::

<alpha 
    android:duration="200" 
    android:fromAlpha="1.0" 
    android:repeatCount="1" 
    android:repeatMode="reverse" 
    android:toAlpha="0.0" /> 

<translate 
    android:duration="200" 
    android:fromXDelta="0" 
    android:repeatCount="1" 
    android:repeatMode="reverse" 
    android:toXDelta="50" />