В Android (Java) у меня в приложении динамически окрашен текстовый текстовый вид.Чтобы сделать цвет фона EditText «primaryColor», я написал следующую строку кода:
public void setEditTextThingsColor(EditText view) {
view.getBackground().setColorFilter(colorPrimary, PorterDuff.Mode.SRC_ATOP);
(...some other settings...)
}
, где view
- мой элемент EditText, primaryColor
загружен из базы данных.
IЯ проверил его на API 27 и API 19. Он отлично работает на API 27. На API 19 нет.
Однако, когда я написал такой код:
public void setEditTextThingsColor(EditText view) {
Drawable temp = view.getBackground();
temp.setColorFilter(colorPrimary, PorterDuff.Mode.SRC_ATOP);
view.setBackground(temp);
(...some other settings...)
}
, он отлично работает на обоих API.
В чем причина такого поведения?
Может ли API 19 найти мой элемент неизменным или около того?