如何将特定CheckBox的Android复选框的默认颜色从绿色复选标记更改为蓝色?
答案 0 :(得分:22)
不幸的是,更改颜色不是一个简单的属性。选中标记是图像,因此您必须创建自定义图像。看一下这个example
创建一个选择器xml文件,例如:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/star_down" />
<item android:state_checked="false" android:drawable="@drawable/star" />
</selector>
将此xml文件保存在res\drawables\
文件夹中。然后在布局文件中将它应用到您的checkBox,如下所示:
<CheckBox
android:text="Custom CheckBox"
android:button="@drawable/checkbox_selector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
在此示例中,您将选择器xml文件命名为“checkbox_selector.xml”,并且您还需要在drawables文件夹中使用star_down.png和star.png。您可以使用此技术创建不同颜色的复选框,方法是将系统复选框图像更改为您想要的任何颜色,并在选择器中引用已更改的png文件。
答案 1 :(得分:6)
使用buttonTint
(从API级别23开始)在xml中很容易做到:
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@color/COLOR_HERE" />
正如Nicolás指出的那样,您可以使用appCompatCheckbox v7
为旧版API执行此操作:
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:buttonTint="@color/COLOR_HERE" />