提问人:Zen Ryuu 提问时间:11/9/2023 更新时间:11/9/2023 访问量:15
选中的单选按钮始终为灰色 Android XML
Checked Radio Button always grey Android XML
问:
我已经设置了单选按钮色调颜色并启用了它。但它仍然是灰色的。这是xml中的代码:
<RadioGroup
android:id="@+id/rg_switch_mode"
android:layout_width="match_parent"
android:layout_height="55dp"
android:gravity="center"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll_estimated_data">
<RadioButton
android:id="@+id/rad_btn_detectObj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Detect Object"
android:buttonTint="@color/its_blue"
android:textColor="@android:color/black"
android:enabled="true"
android:checked="true"
android:textSize="14sp"
android:layout_marginEnd="10dp" />
<Space
android:layout_width="10dp"
android:layout_height="match_parent"/>
<RadioButton
android:id="@+id/rad_btn_imgCapt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Image Captioning"
android:buttonTint="@color/its_blue"
android:textColor="@android:color/black"
android:enabled="true"
android:textSize="14sp"/>
</RadioGroup>
我在应用程序主题中设置了主题.xml。<item name="colorControlActivated">@color/its_blue</item>
答:
-1赞
m0haMed
12/5/2023
#1
如需在 Android Studio 中更改单选按钮的颜色,您应使用自定义 XML 可绘制对象作为按钮背景 创建新的 XML 可绘制资源文件:
- 右键单击 Android Studio 项目中的 res/drawable 文件夹,然后选择“新建 -> 可绘制资源文件”。为其命名,例如 custom_radio_button_background.xml。
- 编辑 XML 可绘制文件:
打开新创建的 XML 文件并添加以下代码以创建具有所需颜色的自定义背景:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Checked state -->
<item android:state_checked="true">
<layer-list>
<item>
<shape android:shape="oval">
<solid android:color="@color/your_checked_color" />
<!-- Change the color to your desired checked color -->
</shape>
</item>
<item android:drawable="@android:drawable/btn_radio" />
</layer-list>
</item>
<!-- Unchecked state -->
<item android:state_checked="false">
<layer-list>
<item>
<shape android:shape="oval">
<solid android:color="@color/your_unchecked_color" />
<!-- Change the color to your desired unchecked color -->
</shape>
</item>
<item android:drawable="@android:drawable/btn_radio" />
</layer-list>
</item>
</selector>
- 将自定义可绘制对象应用于单选按钮并使用 button 属性
android:button=“@drawable/custom_radio_button_background”
<RadioGroup
android:id="@+id/rg_switch_mode"
android:layout_width="match_parent"
android:layout_height="55dp"
android:gravity="center"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll_estimated_data">
<RadioButton
android:id="@+id/rad_btn_detectObj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Detect Object"
android:button="@drawable/custom_radio_button_background"
android:textColor="@android:color/black"
android:enabled="true"
android:checked="true"
android:textSize="14sp"
android:layout_marginEnd="10dp" />
<Space
android:layout_width="10dp"
android:layout_height="match_parent"/>
<RadioButton
android:id="@+id/rad_btn_imgCapt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Image Captioning"
android:button="@drawable/custom_radio_button_background"
android:textColor="@android:color/black"
android:enabled="true"
android:textSize="14sp"/>
</RadioGroup>
评论