2012-09-27 60 views
3

工作我使用setColorFilter上色一些按鈕...代碼是這樣的:clearColorFilter()不會在Android 2.3

final Button falso = (Button) findViewById(R.id.falso); 
    final Button vero = (Button) findViewById(R.id.vero); 


    vero.setOnClickListener(new OnClickListener() {   
     public void onClick(View v) { 
      vero.getBackground().setColorFilter(new LightingColorFilter(0x00000000, 0x00FF0FF));  
      falso.getBackground().clearColorFilter(); 
      esame.set("V"); 
     } 
    }); 


    falso.setOnClickListener(new OnClickListener() {    
     public void onClick(View v) { 
      falso.getBackground().setColorFilter(new LightingColorFilter(0x00000000, 0x00FF0FF)); 
      vero.getBackground().clearColorFilter(); 
      esame.set("F"); 
     } 
    }); 

當我點擊按鈕「維拉」我想恢復顏色「falso」和反義詞。 我試過這個代碼在android ics上,所有的工作都很好,但是當我在android 2.3上試過時,我有一個不好的驚喜。

當我點擊按鈕的顏色不重置,我不明白爲什麼。

回答

2

我找到了解決方案:

use button.invalidate(); 

後,我清晰的背景

+0

對我而言,謝謝,失去了大約一個小時。 –

0

將ColorFilter設置爲0將通過清除過濾器來完成您的工作。

vero.setInt(vero.getBackground(), "setColorFilter", 0); 
+0

iconResource是紅色:) 不能被解析爲一個變量 – Atomico

+0

我編輯我的答案,嘗試這樣的,對不起。 –