2013-05-10 53 views
1

我想阿尔法设置为我所有视图AlphaAnimation(1.0F, 0.15F); 并再次点击重置阿尔法 我用下面的代码:创造阿尔法动画,但不填,直到按钮点击

button.setOnClickListener(new View.OnClickListener() {   
    @Override 
    public void onClick(View v) { 
     if(fadeinout) { 

      expControl.startAnimation(set1); 
      seekZoom.startAnimation(set1); 
      btnrotate.startAnimation(set1); 

      fadeinout=false; 

     } else { 

      expControl.startAnimation(set); 
      seekZoom.startAnimation(set); 
      btnrotate.startAnimation(set); 
      fadeinout=true; 

     } 

    } 
}); 

和我的动画设置1和设置2下面

private Animation FadeIn(int t) 
{ 
    AlphaAnimation localAlpha = new AlphaAnimation(1.0F, 0.15F); 
    localAlpha.setDuration(800L); 
    localAlpha.setStartOffset(100L); 
    localAlpha.setFillAfter(false); 
    localAlpha.setInterpolator(new AccelerateInterpolator()); 

    return localAlpha; 
} 

private Animation FadeOut(int t) 
{ 
    Animation fade; 
    fade = new AlphaAnimation(0.15F, 1.0F); 
    fade.setDuration(800L); 
    localAlpha.setFillAfter(false); 
    fade.setInterpolator(new AccelerateInterpolator()); 
    return fade; 
} 

但是当动画完成重置视图,以填补阿尔法我想阿尔法只能用按钮来更改点击

和它不与setalpha()一起使用。我想为SDK 8及以上版本创建应用程序。

谢谢。

+0

不知道你想要达到兄弟,但我认为你需要改变setFillAfter为真,所以它只会改变按钮点击alphas! – 2013-05-10 10:16:50

+0

@MarkoNiciforovic我希望alpha不可更改,直到点击按钮只能更改与按钮 – 2013-05-10 12:11:49

回答

1
// add this line 
localAlpha.setFillEnabled(true); 
// modify other line like this 
localAlpha.setFillAfter(true); 
+0

感谢您的注意我更改此选项并更改如果(!fadeinout)和它的工作 – 2013-05-11 07:09:58

+0

没有问题,很高兴帮助您解决问题 – 2013-05-13 08:48:06