这与related post中提到的问题类似,但我认为它与自己的问题有所不同。在这里:
通过将单选按钮的按钮属性设置为null,我可以通过在xml中声明单选按钮来消除“无线电圈”没问题:
<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);
这是我的例子,即使我将按钮drawable设置为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();
如果我改为将drawable设置为空,如下所示:
myRadioButton.setButtonDrawable(android.R.id.empty);
无线电圈消失,但文字不会进入无线电圈所在的区域。这里有一些ascii艺术来展示它的作用:
setButtonDrawable(null):( O =无线电圈)
-------------------
| O One | O Two |
-------------------
setButtonDrawable(android.R.id.empty):
-------------------
| One | Two |
-------------------
我已尝试设置文本重力等以使文本进入该空白区域,但似乎“无线电圆圈”仍然存在,但它只是不可见。
对我的问题的任何帮助将不胜感激。感谢。
答案 0 :(得分:1)
我看到您已经解决了这个问题,但我只是想知道您是否尝试过使用:setVisibility(View.GONE);
我认为这应该有效。