2015-04-28 3 views
2

У меня есть Drawable внутри изображения, которое я изменяю во время выполнения, чтобы обеспечить пользовательские цвета для ранга пользователя. Метод модификации этого прекрасно работает на версиях Android ниже 20, но над ним drawable не обновляется последовательно.GradientDrawable setStroke не работает на Android Lollipop

Конкретный метод вопрос выглядит следующим образом:

void setColor(int color) { 
    GradientDrawable drawable = (GradientDrawable) mImageView.getDrawable().mutate(); 
    drawable.setStroke(14, color); 
    drawable.invalidateSelf(); // make sure we redraw 
} 

Как я уже сказал, это работает отлично, прежде чем Android 20, но после того, как Android 20 вытяжке не добавить ход. Есть ли новый метод или я что-то забыл?

+0

Вы пробовали на API 22/L MR1? Возможно, это была ошибка, характерная для начальной версии L. – alanv

ответ

1

вы должны аннулировать вид:

mImageView.invalidate();