Android: изменить цвет флажка (цвет фона и отметки) - PullRequest
1 голос
/ 13 апреля 2020

Я использую флажок, как показано ниже

checkbox img

Мой код ...

   <CheckBox
    android:id="@+id/checkBox10"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="32dp"
    android:layout_weight="1"
    android:button="@null"
    android:checked="true"
    android:drawableBottom="?android:attr/listChoiceIndicatorMultiple"
    android:gravity="center_horizontal"
    android:text="10"
    android:textColor="#FFFFFF"
    android:textStyle="bold"
    android:theme="@style/MyCheckBox"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

стиль. xml

 <style name="MyCheckBox" parent="Theme.AppCompat.Light">
    <item name="colorControlNormal">#ffffff</item>
    <item name="colorControlActivated">#ff0000</item>       
 </style>

Я могу изменить цвет окна, изменив цвет в стиле xml. Поскольку я использую

 android:button="@null"
 android:drawableBottom="?android:attr/listChoiceIndicatorMultiple" 

Я не смог найти способ изменить цвет галочки. Мне нужно изменить цвет галочки (синий) в качестве фона. Как я могу это сделать .?

1 Ответ

2 голосов
/ 13 апреля 2020

Создать селектор XML файл в папке res\drawables\ с именем cb_selector. 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/checked" />
    <item android:state_checked="false" android:drawable="@drawable/unchecked" />
</selector>

В вашем файле макета примените этот файл к вашему чеку BoxBox

<CheckBox
    android:id="@+id/cb"
    android:text="My CheckBox"
    android:button="@drawable/cb_selector"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

Добавьте unchecked.png и checked.png в папку для рисования. Это проверенные и непроверенные изображения флажка.

Вы можете использовать color вместо drawable и

...