2013-05-10 52 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