我目前有两个复选框,当点击一个时,另一个自动取消选中。我想保留,但是如果用户决定改变他/她的想法,那么未经检查的那个会变成褪色的白色,但仍然是可点击和可读的。
这是我目前的代码:
chk1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (CheckBox.isChecked(chk1)) {
chk2.setChecked(false);
chk1.setChecked(b);
chk2.setAlpha(0.5f);
}
});
chk2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (CheckBox.isChecked(chk2)) {
chk1.setChecked(false);
chk2.setChecked(b);
chk1.setAlpha(0.5f);
}
});
答案 0 :(得分:1)
chk2.setAlpha(0.5f)
会让它显得褪色。
chk1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
chk2.setChecked(false);
chk1.setChecked(b);
chk2.setAlpha(0.5f);
chk1.setAlpha(1f);
}
});
chk2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
chk1.setChecked(false);
chk2.setChecked(b);
chk1.setAlpha(0.5f);
chk2.setAlpha(1f);
}
});
答案 1 :(得分:0)
当复选框处于选定状态和未选中状态时,您可以使用不同的图标作为复选框。还要更改文本的颜色,使其看起来褪色。
为了帮助您更改复选框图标,这很有帮助
Change icons of checked and unchecked for Checkbox for Android
您可以使用更改复选框图标和文字颜色, chk2.setTextColor(getResources()的getColor(R.color.gray)); chk2.setButtonDrawable(R.drawable.unchecked);