Изменение цвета флажка программно - PullRequest
0 голосов
/ 06 сентября 2018

Я использую этот код:

tytMaths = dialog.findViewById(R.id.tytMaths);        
CompoundButtonCompat.setButtonTintList(tytMaths, ColorStateList.valueOf(R.color.blue));

и оно становится серым. Мой colors.xml:

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>

    <color name="blue">#0DFFDC</color>
    <color name="green">#B8FF0D</color>
    <color name="yellow">#FFF90D</color>
    <color name="orange">#FFA00D</color>
    <color name="red">#FF3A0D</color>

</resources>

Что мне делать? Кажется, мои цвета правильные. Я думаю, проблема в коде Java.

1 Ответ

0 голосов
/ 06 сентября 2018

ColorStateList.valueOf() принимает цвет int, а не цветовой ресурс int.

Используйте это вместо:

ColorStateList.valueOf(context.getResources().getColor(R.color.blue))

Где context - это любой объект Context, к которому у вас есть доступ. Если это внутри Действия, удалите context.. Если это внутри вида, используйте getContext()..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...