在Android中对齐RadioGroup中的单选按钮(由代码创建)

时间:2012-09-05 07:44:32

标签: android radio-button alignment radio-group

在我的应用中,我需要通过代码创建一个RadioGroup,其中包含RadioButtonsRadioGroup。我需要将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}}

这是我的结果:

enter image description here

有谁知道如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:1)

我不认为这个解决方案很好,但是因为你知道width的确切heightradiogroup,所以只需设置你的width radiobuttonwidth/2代替wrap_content,其他属性,例如weightgravity上的lp_radio1lp_radio2可以删除