这与相关帖子中提到的问题类似,但我认为它足够不同以至于需要单独提出问题。以下是具体内容:
在XML中声明单选按钮时,通过将单选按钮的button属性设置为null,可以轻松使“单选圆形”消失,如下所示:
在XML中声明单选按钮时,通过将单选按钮的button属性设置为null,可以轻松使“单选圆形”消失,如下所示:
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="One"
android:background="@drawable/radio_button_selector"
android:button="@null"/>
但是当我尝试动态声明单选框时,即使我这样做:
圆形单选按钮也无法消失。
myRadioButton.setButtonDrawable(null);
这是我的例子,即使我将按钮可绘制设置为null,单选框圆圈仍然出现。
RadioGroup myRadioGroup = (RadioGroup)findViewById(R.id.myRadioGroup);
for (int i = 0; i < arrayListOfRadioButtonStringNames.size(); i++)
{
RadioButton myRadioButton = new RadioButton(this);
myRadioButton.setText(arrayListOfRadioButtonStringNames.get(i));
myRadioButton.setButtonDrawable(null);
myRadioButton.setBackgroundResource(R.drawable.radio_button_selector);
myRadioGroup.addView(myRadioButton);
}
myRadioGroup.invalidate();
如果我将按钮的可绘制对象设置为空,像这样:
myRadioButton.setButtonDrawable(android.R.id.empty);
无线电圆圈消失了,但文本并没有进入无线电圆圈应该在的区域。以下是一些ASCII艺术作品,展示它所做的内容:
setButtonDrawable(null):(O = 无线电圆圈)
-------------------
| O One | O Two |
-------------------
setButtonDrawable(android.R.id.empty):
-------------------
| One | Two |
-------------------
我尝试设置文本重力等参数,使文字出现在空白处,但似乎“单选圆圈”仍然存在,只是不可见了。
如有帮助,感谢您的支持。