这个问题在这里已有答案:
我想更改复选框的方框的颜色,而不是文本的颜色,只有我们勾选的方形图像。
您可以直接在xml中着色。使用buttonTint作为复选框
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox"
android:buttonTint="@color/lightColoral"
/>
以下代码适用于API <21
app:buttonTint="@color/lightColoral"
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox"
app:buttonTint="@color/yellow"
/>
您可以为复选框提供自定义主题
<style name="CheckBoxTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- theme UI controls like checkboxes and text fields -->
<item name="colorAccent">@color/yourColor</item>
</style>
将其添加到您的主题中
<style name="CheckBoxTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:textColorSecondary">@color/blue</item>
<item name="colorAccent">@color/blue</item>
<item name="colorControlNormal">@color/blue</item>
</style>
然后在xml写下:
<android.support.v7.widget.AppCompatCheckBox
android:theme="@style/CheckBoxTheme"/>
对于API 21+应该使用:
<android.support.v7.widget.AppCompatCheckBox
android:buttonTint="@color/blue"/>