我正在使用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上尝试它时,我有一个不好的意外。
当我点击按钮时,颜色不会重置,我不明白为什么。
答案 0 :(得分:2)
我找到了解决方案:
use button.invalidate();
清除背景后
答案 1 :(得分:0)
将ColorFilter设置为0将通过清除过滤器来完成任务。
vero.setInt(vero.getBackground(), "setColorFilter", 0);