Set background color of unchecked checkbox Android
Solution 1
Do it like this-
In your layout file-
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:theme="@style/CheckboxStyle"/>
and in your style.xml file
<style name="CheckboxStyle" parent="AppTheme">
<item name="colorAccent">@color/colorAccent</item>
</style>
Or you can change both the checked and unchecked color like this-
<style name="CheckboxStyle" parent="AppTheme">
<item name="colorAccent">@color/colorAccent</item> // for checked
<item name="android:textColorSecondary">@color/colorSecondary</item> // for unchecked
</style>
change colorAccent and colorSecondary with your required colors.
hope it will help you..
Solution 2
I know it is answered but someone may find this useful, another way to achieve this is by using color state list, declare a color state list for the checkbox in an xml file
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>
Now use this state list as
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:buttonTint="@color/checkbox_state_list"/>
Solution 3
You have to use CheckBox style like this:
in xml style
<style name="MyCheckBox" parent="Theme.AppCompat.Light">
<item name="colorControlNormal">@color/white</item>
<item name="colorControlActivated">@color/white</item>
</style>
in xml layout .
<CheckBox
android:layout_width="wrap_content"
android:layout_height="match_parent"
style="@style/MyCheckBox"
...
Related videos on Youtube
![Jim Clermonts](https://i.stack.imgur.com/Sf992.jpg?s=256&g=1)
Jim Clermonts
Multiple award-winning Android Developer. Has launched his own products and has Android and iOS apps live in the App stores. Has developed several apps (Android/iOS) as freelance programmer. Is highly specialized in Android SDK. Jim has worked for 8 months for a tech Startup in Silicon Valley as part of a traineeship. Jim also has experience in embedded software development in C/C++ and is a certified (ISTQB) software tester. Jim has won several prizes with attending and winning hackathons & entrepreneurship competitions. More info: www.JimClermonts.nl
Updated on September 07, 2022Comments
-
Jim Clermonts almost 2 years
It has to be like this:
Currently it looks like this:
The rounded rectangle is not that important. But the unchecked state has to be black. This is my code:
<CheckBox android:id="@+id/checkbox" android:buttonTint="@color/orange" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
This is the theme I'm using:
"Theme.AppCompat.Light.NoActionBar"
I've tried this as well:
<style name="checkbox_style" parent="Bijenkorf"> <item name="material_grey_600">@color/black</item> </style>
Because the default unchecked has the color #757575. And I looked this up in the Theme and it was "material_grey_600". But this doesn't compile. Any ideas?
-
D_Alpha about 7 yearshappy to help you.. :)
-
Big_Chair about 4 yearsThe accepted answer did not work for me, but this worked perfectly