3 回答

TA贡献1830条经验 获得超3个赞
@OnClick({R.id.next,R.id.country_us,R.id.country_india})
public void nextClicked(View view)
{ switch(view.getId()) {
case R.id.next:
Intent intent = new Intent(this, TutorialScreen.class);
intent.putExtra("country_selected", ind_sel);
startActivity(intent);
break;
case R.id.country_india:
ind_sel=true;
setselectedBlank();
view.setBackgroundResource(R.drawable.selected_border);
break;
case R.id.country_us:
ind_sel=false;
setselectedBlank();
view.setBackgroundResource(R.drawable.selected_border);
break;
}
}
private void setselectedBlank() {
country_us.setBackgroundResource(R.drawable.border);
country_india.setBackgroundResource(R.drawable.border);
}
你可以试试这个,只需调用一个方法先将所有背景更改为默认值,然后再将其更改为选定颜色
请注意我在这里使用 ButterKnife 注入库,但即使你不使用它也不是问题快乐编码
ImageButton spaces = findViewById(R.id.spaceship);
spaces.setBackgroundColor(Color.TRANSPARENT);
spaces.setOnClickListener(view -> {
setAllnotSelected();
spaces.setBackgroundColor(Color.DKGRAY);
});
ImageButton mask = findViewById(R.id.mask);
mask.setBackgroundColor(Color.TRANSPARENT);
mask.setOnClickListener(view -> {
setAllnotSelected();
mask.setBackgroundColor(Color.DKGRAY);
});
public void setAllnotSelected();
{
mask.setBackgroundColor(Color.TRANSPARENT);
spaces.setBackgroundColor(Color.TRANSPARENT);
}

TA贡献1934条经验 获得超2个赞
您可以检查一个ImageButton是否已检查的条件。基于此,您可以使所有其他setChecked()错误。我使用相同的设置值RadioButtons。
if (Friends != null) {
Friends.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
friend_source = "Friend";
Newspaper.setChecked(false);
Facebook.setChecked(false);
Zomato.setChecked(false);
RadioSource.setChecked(false);
}
}
});
}

TA贡献1799条经验 获得超6个赞
为按钮的不同状态创建一个具有不同颜色的资源文件。
btn_bg_states.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true">
<shape>
<solid android:color="your_color" />
</shape>
</item>
<item android:state_pressed="true">
<shape>
<solid android:color="your_other_color" />
</shape>
</item>
<item>
<shape>
<solid android:color="your_default_color" />
</shape>
</item>
</selector>
然后将其设置为所有按钮的可绘制背景,Android 将为您处理其余部分。
android:background="@drawable/btn_bg_states"
添加回答
举报