Android 设计单选按钮

标签 android radio-button radio-group

我想像这样设计RadioGroup

enter image description here

我就是这么做的

enter image description here

这是我的 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"

这就是问题所在。您要保持 textColor 不变,而应该有一个选择器作为 textColor。

请引用这个答案https://stackoverflow.com/a/55139080/3400640

关于Android 设计单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63296942/

相关文章:

java - 位图工厂抛出 FileNotFoundException

android - import com.android.internal.R 无法解析

Android:RadioGroup.OnCheckedChangeListener 在我的应用程序中不起作用

android以编程方式在radiogroup按钮之间添加填充

android - 创建一个自定义 Drawable 并在 XML 中使用它

android - 如何在锁定屏幕上执行通知操作(点击)?

Javascript 单选按钮组验证

kendo-ui - 单选按钮不反射(reflect)模型的值(value)

java - 我想使用保存的首选项获取选定的单选按钮,但 Activity 没有打开?

javascript - 如何使用 redux\redux-form 初始化独立的 Radio Button Group 组件检查属性状态