如何在android中以编程方式在按钮左侧创建带文本的单选按钮?

Obt*_*ice 1 android

我在xml的按钮左侧创建了带有文本的单选按钮:

<RadioButton
    android:id="@+id/radio_sattelite1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:button="@null"
    android:checked="true"
    android:drawableRight="@android:drawable/btn_radio"
    android:gravity="center_vertical"
    android:onClick="onRadioButtonClicked"
    android:text="@string/sattelite1" />
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我必须在我的java代码中创建它们中的一部分,但我无法像上面那样设计它.

编辑:在我的朋友@Hariharan和@Haresh的帮助下,我最终得到了这段代码:

Drawable drawable = getResources().getDrawable(android.R.drawable.btn_radio);
drawable.setBounds(0, 0, 57, 72);
radioButton.setCompoundDrawables(null, null, drawable, null);
Run Code Online (Sandbox Code Playgroud)

但现在问题是左右两个按钮都出现了.

Har*_*ran 5

试试这个..

yourradiobutton.setCompoundDrawables(drawable_left, drawable_top, drawable_right, drawable_bottom);
Run Code Online (Sandbox Code Playgroud)

编辑

    RadioButton radioButton = new RadioButton(this);
    radioButton.setText("sattelite1");
    Drawable drawable = getResources().getDrawable(android.R.drawable.btn_radio);
    drawable.setBounds(0, 0, 57, 72);
    radioButton.setCompoundDrawables(null, null, drawable, null);
    radioButton.setGravity(Gravity.CENTER_VERTICAL);
    radioButton.setChecked(true);
    radioButton.setButtonDrawable(android.R.color.transparent);
    radioButton.setBackgroundDrawable(null);
Run Code Online (Sandbox Code Playgroud)