android 设计单选按钮

android design radio button

我想这样设计RadioGroup

我也这样做过

这是我的 xml 代码

<RadioGroup
    android:id="@+id/toggle"
    android:layout_width="0dp"
    android:layout_height="40dp"
    android:layout_marginStart="49dp"
    android:layout_marginLeft="49dp"
    android:layout_marginTop="39dp"
    android:layout_marginEnd="49dp"
    android:layout_marginRight="49dp"
    android:background="@drawable/pink_out_line"
    android:checkedButton="@+id/search"
    android:orientation="horizontal"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <RadioButton
        android:id="@+id/search"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_marginStart="1dp"
        android:layout_marginLeft="1dp"
        android:layout_marginTop="1dp"
        android:layout_marginBottom="1dp"
        android:layout_weight="1"
        android:background="@drawable/toggle_widget_background"
        android:button="@null"
        android:gravity="center"
        android:text="Search"
        android:textColor="#e87e0a" />

    <RadioButton
        android:id="@+id/offer"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_marginTop="1dp"
        android:layout_marginEnd="1dp"
        android:layout_marginRight="1dp"
        android:layout_marginBottom="1dp"
        android:layout_weight="1"
        android:background="@drawable/toggle_widget_background"
        android:button="@null"
        android:gravity="center"
        android:text="Offers"
        android:textColor="#e87e0a" />
</RadioGroup>

toggle_widget_background.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" android:state_checked="true" />
<item android:drawable="@color/dark_pink" android:state_pressed="true" />
<item android:drawable="@color/transparent" />

pink_out_line.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="2dp" />
<stroke
    android:width="1dp"
    android:color="#f59f0b" />

最初颜色应该是白色,当我点击搜索或提供时,他们的文字颜色应该是橙色。谢谢

android:textColor="#e87e0a"

这是 problem.You 保持 textColor 不变,而不是你应该有一个选择器作为 textColor。

请参考这个回答