Android динамические RadioGroup / RadioButtons в виде плоских кнопок

это проблема, аналогичная той, что упоминается в связанной публикации , но я думал, что она достаточно отличается чтобы получить свой вопрос. Вот и все:

Мне удалось без проблем заставить "радио-круг" исчезнуть при объявлении переключателей в xml, установив для атрибута кнопки переключателя значение null, например:


Но когда я пытаюсь объявить радиокнопки динамически, я не могу заставить радиокружок исчезнуть, даже когда я делаю это:

myRadioButton.setButtonDrawable(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 = radio circle)

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

setButtonDrawable (android.R.id.empty):

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

Я попытался установить гравитацию текста и т. Д. чтобы текст помещался в это пустое пространство, но кажется, что "радиокружок" все еще там, но его просто не видно.

Любая помощь по моей проблеме будет признательна. Спасибо.

6
задан Community 23 May 2017 в 11:51
поделиться