clearColorFilter()在安卓2.3上无法正常工作

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上尝试时,我有一个不好的惊喜。
当我点击按钮时,颜色不会重置,我不明白为什么。
2个回答

2
我找到了解决方法:
use button.invalidate();

清除背景后

0

将ColorFilter设置为0将通过清除过滤器来完成工作。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接