robert_n
@robert_n

Как программно изменить цвет у AppCompatCheckbox?

Здравствуйте! Возникла необходимость изменять цвет контролов в зависимости от выбранных значений в настройках приложения. Т.е. мне нужно изменить цвет программно, а не с помощью стилей.

Проблема прежде всего возникла с AppCompatCheckBox. Дело в том, что на устройствах Lollilop 5.1 API 22 цвет чекбокса всегда остается серым. Чтобы я не делал, ничего не меняется. Причем на версиях ниже и выше 22 все работает хорошо. Вот код, который я использую:
@BindView(R.id.checkbox)
AppCompatCheckBox checkbox;

 ColorStateList colorStateList = new ColorStateList(
                new int[][]{
                        new int[]{android.R.attr.state_checked},
                        new int[]{-android.R.attr.state_checked}
                },
                new int[] {
                        item.colorIcon, // checked
                        ContextCompat.getColor(context, R.color.divider) // unchecked
                }
        );

checkbox.setSupportButtonTintList(colorStateList);


Нашел на SO такой же вопрос, но он почему то остался без внимания. Встречались ли вы с такой проблемой? Как можно ее решить
  • Вопрос задан
  • 196 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rou1997
@Rou1997
Код AppCompat есть, код Android есть, локализуйте проблему, точно ли она именно с AppCompatCheckbox, что насчет других AppCompat*, что насчет других вариантов использования функции setSupportButtonTintList, точно ли проблема в ней.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы