Изменить цвет флажка при включении?

Я хотел бы использовать флажок по умолчанию в своем приложении, но я хочу, чтобы цвет флажка менялся только на красный при установке флажка. Я пробовал buttonTint, но при снятии флажка он делает поле красным, так что это не работает.


person Teragon    schedule 08.07.2016    source источник
comment
stackoverflow.com/ вопросов/5854047/ проверить это   -  person BR89    schedule 08.07.2016


Ответы (1)


Относительно простой способ сделать это — применить тему только к вашему флажку. По сути, вы должны добавить стиль в свой файл ресурсов styles.xml, как показано ниже. Делая это таким образом, вы даже можете присвоить собственный цвет своему флажку, когда он не отмечен. Однако вы можете оставить android:textColorSecondary, если хотите просто использовать черный флажок по умолчанию.

styles.xml

//main style above add this below.
<style name="RedCheckbox">
    <item name="colorAccent">#FF0000</item> //color when checked
    <item name="android:textColorSecondary>#00FFFF</item> //color when unchecked.
</style>

Затем вам нужно будет применить это к вашему флажку.

<CheckBox
    //rest of your checkbox setup
    android:theme="@style/RedCheckbox"  //this is the important line.
/>

Вам не нужно ничего делать программно, он просто будет меняться в разных состояниях. Это будет результат:

НЕ ПРОВЕРЕНО

введите здесь описание изображения

ПРОВЕРЕНО

введите здесь описание изображения

person basic    schedule 08.07.2016