如何在android中更改checkbox的勾号颜色

我正在开发的Android应用程序在我使用checkbox,但默认checkbox刻度颜色是蓝色,所以我想改变这种颜色为黄色。 是否有任何内置的属性设置颜色checkbox打勾。

Solutions Collecting From Web of "如何在android中更改checkbox的勾号颜色"

不幸的是,改变checkbox复选标记的颜色并不是一个简单的属性

在名为cb_selector.xml的res \ drawables \文件夹中创build一个select器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/checked" /> <item android:state_checked="false" android:drawable="@drawable/unchecked" /> </selector> 

在你的布局文件中应用这个文件到你的checkbox

 <CheckBox android:id="@+id/cb" android:text="My CheckBox" android:button="@drawable/cb_selector" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 

在drawables文件夹中添加一个unchecked.png和checked.png。 这些是checkbox的选中和未选中的图像。

你可以做到这一点,而无需使用buttonTint(API 23)更改绘图:

 <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:buttonTint="@color/CHECKMARK_COLOR_HERE" /> 

或者使用AppCombatCheckBox进行旧版本的android /兼容性。

 <android.support.v7.widget.AppCompatCheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" app:buttonTint="@color/CHECKMARK_COLOR_HERE" /> 

您可以使用android.support.v7库中AppCompatCheckBox的属性app:buttonTint

 <android.support.v7.widget.AppCompatCheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" app:buttonTint="@color/colorAccent"/> 

优点:在API 21下也可以工作,不需要重画checkbox。

从API 21开始,您可以使用Button Tint属性

 android:buttonTint="#FFFF00" 

转到styles.xml并添加这一行。

 <style> <item name="colorAccent">@android:color/holo_green_dark</item> </style> 

使用这个,你可以改变颜色或设置不同的颜色

使用自定义select器checkbox。

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/patch_pressed" android:state_pressed="true"/> <item android:drawable="@drawable/patch_normal" android:state_enabled="true"/> <item android:drawable="@drawable/patchdisable" android:state_enabled="false"/> </selector> 

喜欢这个。