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。
请参考这个回答
我想这样设计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。
请参考这个回答