设置未选中复选框Android的背景颜色

时间:2017-05-12 09:16:12

标签: android checkbox android-checkbox

必须是这样的:

enter image description here

目前它看起来像这样:

enter image description here

圆角矩形并不重要。但未经检查的状态必须为黑色。这是我的代码:

<CheckBox
    android:id="@+id/checkbox"
    android:buttonTint="@color/orange"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

这是我正在使用的主题:

  "Theme.AppCompat.Light.NoActionBar"

我也试过这个:

<style name="checkbox_style" parent="Bijenkorf">
    <item name="material_grey_600">@color/black</item>
</style>

因为默认未选中,其颜色为#757575 。我在主题中看了这个,它是“material_grey_600”。但这不编译。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

我知道它已得到解答,但有人可能会觉得这很有用,另一种方法是使用颜色状态列表来实现这一点,为xml文件中的复选框声明颜色状态列表

checkbox_state_list.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:color="@color/orange" android:state_checked="true"/>
   <item android:color="@color/black" android:state_checked="false"/>
</selector>

现在将此状态列表用作

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

答案 1 :(得分:1)

您必须使用CheckBox样式,如下所示:

xml样式

 <style name="MyCheckBox" parent="Theme.AppCompat.Light">
        <item name="colorControlNormal">@color/white</item>
        <item name="colorControlActivated">@color/white</item>
 </style>

在xml布局中        

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    style="@style/MyCheckBox"
    ...