2012-09-05 3 views
1

내 앱에서 코드로 RadioGroup과 2 RadioButtons을 생성해야합니다. RadioButton을 RadioGroup, 왼쪽은 하나, 다른 하나는 RadioGruop의 오른쪽 부분에 정렬해야합니다. LinearLayout에 라디오 버튼을 추가하면 이러한 문제가 해결되지만,이 경우 RadioGroup의 속성은 한 번에 하나의 RadioButton 만 검사된다는 것을 알 수 있습니다. 여기RadioGroup의 RadioGroup (코드로 생성)을 android에 정렬하십시오.

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; 

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); 

내 결과입니다 :

enter image description here

사람이 어떤 생각 방법이 문제를 해결하는 여기 내 코드? 미리 감사드립니다.

답변

1

나는이 솔루션은 좋은 일이라고 생각하지만, 당신이 당신의 radiogroup의 정확한 widthheight을 알고 있기 때문에, 바로 그러한 weightgravity으로, 당신의 radiobutton 대신 wrap_content과 다른 속성의 width/2에의 width을 설정하지 lp_radio1lp_radio2에서 제거 할 수 있습니다.

관련 문제