Reputation: 723
Is there any way to change the check box (tick box) color to white in android XML. (I need white color tick box which contain black tick, as the preview I got in android studio inside my real device)
Here is my code for check box
<CheckBox
android:textSize="15sp"
android:textColor="#fff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save Loging "
android:id="@+id/checkBox"
android:layout_below="@id/PasswordeditText"
android:checked="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:buttonTint="#fff" />
When I add android:buttonTint="#fff"
preview show the change I need, but it doesn't work in real device
Design preview
Real Device
Is there any attribute like android:buttonTint
which I can use to achieve the changes in real device.
Upvotes: 20
Views: 62842
Reputation: 4644
From XML
<androidx.appcompat.widget.AppCompatCheckBox
...
app:buttonTint="@android:color/white" />
OR From Java/Kotlin:
CompoundButtonCompat.setButtonTintList(cbCheck, ColorStateList.valueOf(Color.WHITE));
Upvotes: 8
Reputation: 314
With MaterialCheckBox
<com.google.android.material.checkbox.MaterialCheckBox
style="@style/checkbox_inv"
android:id="@+id/checkbox"
app:useMaterialThemeColors="false"/>
and in stlyles.xml
<style name="checkbox_inv">
<item name="checkedIconTint">@color/blue_gray</item>
</style>
Upvotes: 1
Reputation: 2454
we can change checkbox color using singe line of code
android:buttonTint="@color/app_color" //whatever color
Upvotes: 1
Reputation: 969
android:buttonTint="@color/white" this line of your button color change
<CheckBox
android:id="@+id/checkk"
android:layout_width="wrap_content"
android:layout_height="@dimen/_40sdp"
android:layout_alignParentLeft="true"
android:background="@color/black"
android:buttonTint="@color/white"
android:textSize="@dimen/_14sdp" />
Upvotes: 1
Reputation: 243
easily we can change checkbox color by using this property in xml
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@color/COLOR_WHICH_YOU_WANT" />
Upvotes: 7
Reputation: 530
This is variation of tachyonflux's answer:
Try to change buttonTint:
<style name="my_checkbox_style">
<item name="buttonTint">#fff</item>
</style>
<CheckBox
android:id="@+id/my_checkbox"
style="@style/my_checkbox_style"
android:background="#000" />
Upvotes: 12
Reputation: 21
Try this
<CheckBox
android:textSize="15sp"
android:textColor="#fff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save Loging "
android:id="@+id/checkBox"
android:layout_below="@id/PasswordeditText"
android:checked="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:button="@android:drawable/checkbox_on_background" />
if CheckBox
checked, else in android:button=
write "@android:drawable/checkbox_off_background"
Upvotes: 0
Reputation: 20221
Set the colorAccent
to your desired color:
<style name="AppTheme" parent="Theme.AppCompat">
<item name="colorAccent">#fff</item>
</style>
Or if you don't want to change your main theme, create a new theme and apply it only to the checkbox:
<style name="WhiteCheck">
<item name="colorAccent">#fff</item>
</style>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/WhiteCheck"/>
Upvotes: 65