2013-02-17 86 views
0

嗨,我有兩個textViews,我最初設置其可見性消失然後動畫和變得可見。現在我想再次隱形,但由於某種原因,他們仍然在屏幕上顯示沒有人沒有爲什麼?改變文本的可見性android

在我的onCreate()我使視圖不見了

register = (TextView)findViewById(R.id.register); 
     register.setVisibility(View.GONE); 
     forgotpassword = (TextView)findViewById(R.id.forgotpw); 
     forgotpassword.setVisibility(View.GONE); 

再後來我使其可見

public void run() 
      { 
       animations(); 
       loginForm.setVisibility(View.VISIBLE); 
       register.setVisibility(View.VISIBLE); 
       forgotpassword.setVisibility(View.VISIBLE); 
      } 

,然後當用戶按下一個按鈕,我想文本的意見,成爲隱形的,以便它們保留其佈局但是它們保持在屏幕上可見

signInBtn = (Button) findViewById(R.id.signin); 
     signInBtn.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View arg0) { 
       signInProcess(); 
      } 
     }); 


public void signInProcess() { 

    register.setVisibility(View.INVISIBLE); 
    forgotpassword.setVisibility(View.INVISIBLE); 
    setuploader.setVisibility(View.VISIBLE); 

}

+0

你確定'signInProcess()'函數被調用嗎? – 2013-02-17 10:19:20

+0

是的,我已編輯我的問題,告訴你 – 2013-02-17 10:21:58

+0

是動畫signInButton的動畫函數嗎? – 2013-02-17 10:28:57

回答

1

在Android中,當您設置動畫時,它只是繪製在其他地方。實際的元素不會移動。所以當你動畫signInBtn它被繪製在其他地方,但實際的按鈕不會從原始位置移動。所以當你點擊按鈕時,不會調用點擊處理程序。

爲了避免在您的動畫中設置fillAfter = True,所以該按鈕實際上會在動畫結束時移動。

此外,在安卓視圖動畫後,請確保在嘗試更改其可見性之前先致電View.clearAnimation()