在我的应用中,我需要通过代码创建一个RadioGroup
,其中包含RadioButtons
个RadioGroup
。我需要将RadioButtons对齐RadioGruop
,一个在左边,另一个在 TableRow.LayoutParams lp_radio1 = new TableRow.LayoutParams(
TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);
TableRow.LayoutParams lp_radio2 = new TableRow.LayoutParams(
TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);
TableRow.LayoutParams lp_radiogr = new TableRow.LayoutParams(
width, height);
lp_radio1.setMargins(left, left, top2, 0);
lp_radio1.gravity=Gravity.LEFT;
lp_radio1.weight=1;
lp_radio2.setMargins(left, left, top2, 0);
lp_radio2.gravity=Gravity.RIGHT;
lp_radio2.weight=1;
的右边。我知道如果我将单选按钮添加到LinearLayout,这些将解决这个问题,但在这种情况下,RadioGroup的属性,一次只检查一个RadioButton不再可用。
这是我的代码:
product_radiogroup = new RadioGroup(viewToLoad.getContext());
product_radiogroup.setLayoutParams(lp_radiogr); product_radiogroup.setOrientation(RadioGroup.HORIZONTAL); product_radiogroup.setBackgroundResource(R.drawable.radio_group_background);
product_radiobuttonYES = new RadioButton(viewToLoad.getContext());
product_radiobuttonYES.setLayoutParams(lp_radio1);
product_radiobuttonYES.setTextColor(R.color.medium_gray);
product_radiobuttonNO = new RadioButton(viewToLoad.getContext());
product_radiobuttonNO.setLayoutParams(lp_radio2);
product_radiobuttonNO.setTextColor(R.color.medium_gray);
product_radiogroup.addView(product_radiobuttonYES);
product_radiogroup.addView(product_radiobuttonNO);
{{1}}
这是我的结果:
有谁知道如何解决这个问题?提前谢谢。
答案 0 :(得分:1)
我不认为这个解决方案很好,但是因为你知道width
的确切height
和radiogroup
,所以只需设置你的width
radiobutton
到width/2
代替wrap_content
,其他属性,例如weight
和gravity
上的lp_radio1
和lp_radio2
可以删除