设置未选中复选框的背景颜色 Android
Set background color of unchecked checkbox Android
必须是这样的:
目前看起来是这样的:
圆角矩形没那么重要。但是unchecked状态必须是黑色。这是我的代码:
<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"。但这不编译。有什么想法吗?
这样做-
在你的布局文件中-
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:theme="@style/CheckboxStyle"/>
并在您的 style.xml 文件中
<style name="CheckboxStyle" parent="AppTheme">
<item name="colorAccent">@color/colorAccent</item>
</style>
或者您可以像这样更改 选中和未选中的颜色-
<style name="CheckboxStyle" parent="AppTheme">
<item name="colorAccent">@color/colorAccent</item> // for checked
<item name="android:textColorSecondary">@color/colorSecondary</item> // for unchecked
</style>
将 colorAccent 和 colorSecondary 更改为您需要的颜色。
希望对您有所帮助..
我知道有人回答了,但有人可能会觉得这很有用,另一种方法是使用颜色状态列表,在 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"/>
您必须像这样使用 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"
...
必须是这样的:
目前看起来是这样的:
圆角矩形没那么重要。但是unchecked状态必须是黑色。这是我的代码:
<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"。但这不编译。有什么想法吗?
这样做-
在你的布局文件中-
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:theme="@style/CheckboxStyle"/>
并在您的 style.xml 文件中
<style name="CheckboxStyle" parent="AppTheme">
<item name="colorAccent">@color/colorAccent</item>
</style>
或者您可以像这样更改 选中和未选中的颜色-
<style name="CheckboxStyle" parent="AppTheme">
<item name="colorAccent">@color/colorAccent</item> // for checked
<item name="android:textColorSecondary">@color/colorSecondary</item> // for unchecked
</style>
将 colorAccent 和 colorSecondary 更改为您需要的颜色。
希望对您有所帮助..
我知道有人回答了,但有人可能会觉得这很有用,另一种方法是使用颜色状态列表,在 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"/>
您必须像这样使用 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"
...