В моем коде я программно добавляю элементы ввода, такие как радиокнопки, флажки и т. д., в свой макет. Проблема в том, что стиль этих элементов не является стилем по умолчанию, который вы получите, если добавите, скажем, RadioButton через xml. (Он выглядит действительно белым и почти прозрачным на белом фоне приложения. Он немного похож на прозрачный). Кроме того, элементы EditText, которые я добавляю, имеют тот же стиль, и если вы что-то в них набираете, текст становится слишком большим и немного перекрывает текстовую строку. Так что я предполагаю, что все сводится к тому, чтобы каким-то образом придать этим элементам стиль по умолчанию, как если бы они были определены через xml.
Пример моего кода выглядит так:
RadioGroup radioGroup = new RadioGroup(mContext);
radioGroup.setLayoutParams(fullWidthWrapHeight);
for (int i = 0; i < arg0.getOptions().size(); i++){
RadioButton radioButton = new RadioButton(mContext, null);
radioButton.setPadding(padding16dp , padding8dp, padding16dp, padding8dp);
radioButton.setText(arg0.getOptions().get(i).getText());
radioButton.setLayoutParams(wrapBoth);
radioButton.setGravity(Gravity.CENTER_HORIZONTAL);
radioButton.setTextAppearance(mContext, R.style.Default_Text);
radioGroup.addView(radioButton);
}
Мой целевой уровень API 21 (Lollipop)