Я использую новый TextInputLayout для переноса EditText. Когда я определяю, что у поля есть ошибка, я делаю следующее:
Drawable drawable = DrawableCompat.wrap(getEditText().getBackground());
DrawableCompat.setTintList(drawable, ColorStateList.valueOf(Color.RED));
Это работает на 5.0 и включает красную подсветку, но ничего не делает на 4.4 или 4.1 тестовых устройствах. Что мне здесь не хватает? Кажется, это так просто и, по словам Google, "просто работает"... я уверен, что у меня есть и последняя версия:
compile 'com.android.support:design:22.2.0'
FWIW, если я устанавливаю setColorFilter вместо setTint, то он работает на всех платформах, но потом у меня проблемы с его уходом и не возвращаются, как только фокус установлен/левый/и т.д. Я бы предпочел сделайте это с оттенком (и действительно предпочитайте, чтобы оттенок применялся к фокусу и нефокусным состояниям, если кто-то ищет дополнительный кредит lol)
Спасибо!