如何使一个选项褪色,但仍然可以在Android Studio上单击?
我现在有两个复选框,当一个被点击时,另一个自动取消选中。我想保留这一点,但是,如果用户决定改变主意,未经检查的一个会变成褪色的白色,但仍然可以单击和阅读 这是我的当前代码:如何使一个选项褪色,但仍然可以在Android Studio上单击?,android,checkbox,android-studio,click,fade,Android,Checkbox,Android Studio,Click,Fade,我现在有两个复选框,当一个被点击时,另一个自动取消选中。我想保留这一点,但是,如果用户决定改变主意,未经检查的一个会变成褪色的白色,但仍然可以单击和阅读 这是我的当前代码: chk1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButto
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);
}
});
当复选框处于选中和未选中状态时,可以对其使用不同的图标。还要更改文本的颜色,使其看起来褪色 要帮助更改复选框图标,这很有帮助 您可以使用更改复选框图标和文本颜色, chk2.setTextColor(getResources().getColor(R.color.gray)); chk2.退刀可拉拔(R.可拉拔.未选中)
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);
}
});
如果我只想在单击另一个复选框时更改它,该如何工作?如果我没弄错的话,当你点击chkbox 1时,你想淡出并取消选中chkbox 2吗?上面的几行将帮助你做同样的事情。是的,有没有办法把它添加到淡入淡出,因为我已经有了取消选中的部分。我试着为b插入代码,但是我遇到了一个错误。我在开始的帖子中更新了我的代码,它可以工作,但是一旦褪色,它就不会回来了。所以,如果我选中box1,box2将褪色,但是如果我单击box2,box1确实会褪色,但是box2仍然会褪色,尽管单击了!更新后的答案,如果有效,请记住将答案标记为正确。:)事实上,我还想知道其他一些事情。如果选中chk1,chk2将褪色,但是如果我取消选中chk1,chk2将保持褪色,有没有办法解决这个问题?@ChrisChen这就是
boolean b
方便的地方,您可以在onCheckedChanged
中编写If
语句,并检查chk1
是否未选中,如果是这样,您可以将alpha重置为1f
。我编辑了开场白并添加了if(CheckBox.isChecked(chk1)){,但是,我在isChecked下面看到一个红色的斜线,表示“非静态方法‘isChecked’不能从静态上下文引用。”