3

私は setColorFilter を使用していくつかのボタンに色を付けています...コードは次のとおりです。

    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");
        }
    });

ボタン「vero」をクリックすると、「falso」の色をリセットしたいのですが、その逆もあります。私はこのコードをAndroid icsで試してみましたが、すべてうまくいきましたが、Android 2.3で試したときは驚きました。

ボタンをクリックしても色がリセットされず、その理由がわかりません。

4

2 に答える 2

2

私は解決策を見つけます:

use button.invalidate();

背景をクリアした後

于 2012-09-27T15:39:18.933 に答える
0

ColorFilterを0に設定すると、フィルターがクリアされて機能します。

vero.setInt(vero.getBackground(), "setColorFilter", 0); 
于 2012-09-27T13:43:45.463 に答える