Android dynamic RadioGroup/RadioButtons as flat buttons

回眸只為那壹抹淺笑 提交于 2019-12-30 18:56:50

问题


this is a similar issue to what is mentioned in a related post but I thought it was different enough to get its own question. Here it goes:

I have been able to get the "radio circle" to disappear no problem when declaring the radio buttons in xml by setting the button attribute of the radio button to null like this:

<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"/>

But when i try and declare the radio buttons dynamically i cannot get the radio circle to disappear even when I do this:

myRadioButton.setButtonDrawable(null);

Here is my example and even though i set the button drawable to null the radio circle still appears.

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();

if I instead set the button drawable to empty, like this:

myRadioButton.setButtonDrawable(android.R.id.empty);

the radio circle disappears, but the text doesn't go into the area where the radio circle should be. Here's some ascii art to show what it does:

setButtonDrawable(null): (O = radio circle)

-------------------
| O  One | O  Two |
-------------------

setButtonDrawable(android.R.id.empty):

-------------------
|    One |    Two |
-------------------

I have tried setting the text gravity, etc to get the text to go in that empty space, but it seems that the "radio circle" is still there but its just not visible.

Any help on my issue would be appreciated. Thanks.


回答1:


I saw that you already fixed this issue, but I'm just wondering if you ever tried using: setVisibility(View.GONE); I think that should work.



来源:https://stackoverflow.com/questions/5821669/android-dynamic-radiogroup-radiobuttons-as-flat-buttons

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!