@NonNull private FrameLayout createRadioGroupLayout(final String[] typeList, RadioGroup.OnCheckedChangeListener listener) { final List<RadioButton> rbList = new ArrayList<>(); final RadioGroup radioGroup = new RadioGroup(this); radioGroup.setPadding(24, 24, 24, 24); for (int i = 0; i < typeList.length; i++) { RadioButton rb = new RadioButton(this); rb.setText(typeList[i]); rbList.add(rb); radioGroup.addView(rb); } String curType = mFeedbackTypeTxt.getText().toString(); for (RadioButton btn : rbList) { if (btn.getText().toString().equals(curType)) { radioGroup.check(btn.getId()); } } radioGroup.setOnCheckedChangeListener(listener); FrameLayout frameLayout = new FrameLayout(this); FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); lp.leftMargin = DimenUtil.dip2px(this, 24); lp.rightMargin = lp.leftMargin; frameLayout.addView(radioGroup, lp); return frameLayout; }
group.setPadding(0, vPadding, 0, vPadding);
@Override RadioGroup createWidgetView(AppCompatActivity activity) { radioGroup = new RadioGroup(activity); radioGroup.setPadding(16, 16, 16, 16); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); layoutParams.topMargin = 32; layoutParams.bottomMargin = 32; String[] values = getInputValues(activity.getIntent()); for (int j = 0; j < values.length; ++j) { String value = values[j]; RadioButton button = new RadioButton(activity); button.setText(value); button.setId(j); button.setTextSize(18); button.setPadding(16, 16, 16, 16); button.setLayoutParams(layoutParams); radioGroup.addView(button); } return radioGroup; }
radioGroup.setPadding(0, space / 2, 0, space / 2); radioGroup.setGravity(Gravity.CENTER_HORIZONTAL); radioGroup.setOrientation(LinearLayout.HORIZONTAL);
scrollView.addView(radioGroup); int margin = ScreenUtils.dp2px(16); radioGroup.setPadding(margin / 2, margin, margin, margin);