2013-10-04 137 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" />