我有一个Drawable对象,它被放置在ImageView中。我需要在运行时修改这个Drawable对象,以便为用户的级别提供自定义颜色。在Android 20以下版本中,修改此对象的方法可以正常工作,但在20以上的版本中,该对象无法一致地更新。
具体的修改方法如下:
void setColor(int color) {
GradientDrawable drawable = (GradientDrawable) mImageView.getDrawable().mutate();
drawable.setStroke(14, color);
drawable.invalidateSelf(); // make sure we redraw
}
如我所说,在Android 20之前,这个方法可以正常工作,但在Android 20之后,描边效果不再生效。是否有新的方法或者我忘记了什么?