Android。如何自定义单选按钮

Android. How to customize radio button

我需要一个位于单选组内的单选按钮,左侧是文本,文本后是一个图标,右侧是一个按钮。这是我的代码:

 <RadioButton
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginStart="8dp"
                android:layout_marginTop="12dp"
                android:layout_marginEnd="8dp"
                android:drawableStart="@drawable/ic_phone"
                android:layoutDirection="rtl"
                android:text="@string/agreement_text"
                android:textColor="@color/blue"
                android:textSize="20sp" />

但是,在这种情况下,drawable 位于按钮前面,我需要它位于文本之后。如果用 drawableEnd 替换它,那么图标将位于文本前面,这对我来说也是不正确的。请告诉我如何达到预期的结果。

预期结果:

当前结果(对我来说不正确):

尝试将以下属性添加到 RadioButton 中,应该可以。

android:layoutDirection="rtl"
android:textAlignment="textStart"
android:layout_gravity="start"

记得在您的应用程序清单中将 supportsRtl 属性 设置为 true。

<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <RadioButton
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="12dp"
        android:layout_marginEnd="8dp"
        android:layoutDirection="rtl"
        android:textAlignment="textStart"
        android:layout_gravity="start"
        android:button="@drawable/ic_icon_phone_red"
        android:text="ender"
        android:textColorLink="@color/white"
        android:textColor="@color/white"
        android:textSize="20sp" />
</RadioGroup>