2014-01-07 50 views
1

我需要更改按鈕被點擊後的一些可見屬性。按鈕總是一樣的,它不會改變。我需要一個綠色的按鈕,當我點擊它時,它應該變成灰色。如果我再次點擊它應該回到綠色等等。它的一個按鈕,只是改變顏色和文字根據是否點擊(甚至多次)。根據onclick chaog backgorund圖像的按鈕

我需要使用正常的Button還是RadioButtonRadioGroup

請問我能告訴我如何通過代碼來實現它的功能嗎?感謝

+1

一個簡單的按鈕就可以了。將其設置爲「onClickListener」,並在「onClick」實現中更改文本和背景。編寫代碼並在這裏發佈,如果您遇到任何問題。 –

回答

0

進行全局布爾變量

boolean green = true; 

然後使用下面的代碼來改變顏色。

final Button button = (Button) findViewById(R.id.button); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      if(green){ 
       button.setBackgroundColor(Color.GRAY); 
       green =false; 
      } 

      else { 
       button.setBackgroundColor(Color.GREEN); 
       green = true; 
      } 
     } 
    }); 
+0

我已經這樣做了,但它只允許我改變一次背景!我希望能夠多次點擊該按鈕,alwasys可以更改它 – Pheonix7

+0

現在查看我的答案@ Pheonix7 –

+1

如果您只是想打開/關閉按鈕功能,您還可以使用ToggleButton。 –

0

退房這個

boolean flag; 
button.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     if(flag){ 
      button.setbackgroundColor(Color.GREEN) 
      flag=false; 
     }else{ 
      button.setbackgroundColor(Color.GREY) 
      flag=true; 
     } 
    } 
} 
+0

我已經這樣做了,但它只允許我改變一次背景!我希望能夠多次單擊該按鈕,並且alwasys會更改它 – Pheonix7

+1

@ Pheonix7,因爲您可以使用切換按鈕 – Piyush

+0

ToggleButton功能其實非常好。但作爲即時通訊使用這個按鈕在自定義列表視圖行我nedd這個按鈕可以從整個行獨立選擇。即時通訊嘗試實現togglebutton,但它不允許我從該視圖的其餘部分分離這個按鈕? – Pheonix7