如何在选定状态下更改单选按钮的背景图像。我已经使用了checkBoxes的代码并且它可以工作,但是对于Radio Buttons不起作用。这是我的代码片段:
RadioGroup radioGroup = new RadioGroup(context);
for ( int i = 0; i < lst.size(); i++ ){
// Radiobuttons
RadioButton radioButton = new RadioButton(context);
radioButton.setId(i);
radioButton.setButtonDrawable(myDrawable);
radioButton.setText(myTxt);
radioGroup.addView(radioButton, i, layoutParams);
}
this.addView(radioGroup);
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
StateListDrawable myStates = new StateListDrawable();
int stateSelected = android.R.attr.state_selected;
myStates.addState(new int[]{ -stateSelected }, myDrawable2);
RadioButton r = (RadioButton) group.getChildAt(checkedId);
r.setButtonDrawable(myStates);
}
答案 0 :(得分:0)
您可以使用state-list drawable定义不同的背景图像,具体取决于窗口小部件的状态。您可以这样做,而不是以编程方式更改后台资源。
可以找到关于此问题的教程here。