以编程方式将单选按钮文本添加到按钮顶部

Amr*_*Saj 3 android radio-group radio-button android-layout

有没有办法以编程方式将单选按钮的文本与顶部对齐,如下所示。

在此处输入图片说明

我使用以下代码创建无线电组

  final RadioButton[] rb = new RadioButton[5];
            RadioGroup rg = new RadioGroup(getActivity()); //create the RadioGroup
            rg.setOrientation(RadioGroup.VERTICAL);//or RadioGroup.VERTICAL
            rg.setLayoutParams(radioparams);

            for (int i = 0; i < 5; i++) {
                rb[i] = new RadioButton(getActivity());
                rb[i].setText("Radiobtn " + i);
                rb[i].setId(i + 100);
                rg.addView(rb[i]);

            }
            layout.addView(rg);
Run Code Online (Sandbox Code Playgroud)

但我将文本放在每个按钮的右侧。

mac*_*229 6

    final RadioButton[] rb = new RadioButton[5];
    RadioGroup rg = new RadioGroup(getActivity()); //create the RadioGroup
    rg.setOrientation(RadioGroup.VERTICAL);//or RadioGroup.VERTICAL
    rg.setLayoutParams(radioparams);

    for (int i = 0; i < 5; i++) {
        rb[i] = new RadioButton(getActivity());
        rb[i].setText("Radiobtn " + i);
        rb[i].setId(i + 100);
        rb[i].setButtonDrawable(null);

        TypedArray a = getTheme().obtainStyledAttributes(R.style.AppTheme, new int[] {android.R.attr.listChoiceIndicatorSingle});
        int attributeResourceId = a.getResourceId(0, 0);
        Drawable drawable = getResources().getDrawable(attributeResourceId);

        rb[i].setCompoundDrawablesWithIntrinsicBounds(null, null, null, drawable);
        rb[i].setGravity(Gravity.CENTER | Gravity.BOTTOM);
        rg.addView(rb[i]);

    }
    layout.addView(rg);
Run Code Online (Sandbox Code Playgroud)