Как изменить флажок по умолчанию для экрана Android с зелеными галочками на синий для определенного CheckBox?
Изменение цвета по умолчанию для Check Check Check Check Check Check Check Check Check Check
Ответ 1
К сожалению, изменение цвета не является простым атрибутом. Флажок - это изображение, поэтому вам нужно создать собственный образ. Взгляните на этот пример
Создайте XML файл селектора, например:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/star_down" />
<item android:state_checked="false" android:drawable="@drawable/star" />
</selector>
сохраните этот xml файл в папке res\drawables\
. Затем внутри вашего файла макета примените его к вашему checkBox следующим образом:
<CheckBox
android:text="Custom CheckBox"
android:button="@drawable/checkbox_selector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
В этом примере вы бы назвали ваш XML файл селектора "checkbox_selector.xml", и вам понадобится star_down.png и star.png в вашей папке drawables. Вы можете использовать эту технику для создания разных цветных флажков, изменив изображения в системе на любой цвет и ссылаясь на измененные png файлы в селекторе.
Ответ 2
Это легко сделать в xml, используя buttonTint
(начиная с уровня API 23):
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@color/COLOR_HERE" />
и, как отметил Nicolás, вы можете сделать это, используя appCompatCheckbox v7
для более старых API:
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:buttonTint="@color/COLOR_HERE" />