Здравствуйте! Возникла необходимость изменять цвет контролов в зависимости от выбранных значений в настройках приложения. Т.е. мне нужно изменить цвет программно, а не с помощью стилей.
Проблема прежде всего возникла с 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 такой же
вопрос, но он почему то остался без внимания. Встречались ли вы с такой проблемой? Как можно ее решить