GradientDrawable setStroke不适用于Android Lollipop

时间:2015-04-28 17:41:12

标签: android graphics drawable android-5.0-lollipop

我在图像视图中有一个Drawable,我在运行时修改,以便为用户的排名提供自定义颜色。修改此方法适用于20以下的Android版本,但在其上方,drawable无法一致更新。

有问题的具体方法如下:

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

正如我所说,这在Android 20之前运行良好,但在Android 20之后,drawable并没有添加笔画。有没有新方法或者我忘记了什么?

1 个答案:

答案 0 :(得分:1)

你应该使视图无效:

mImageView.invalidate();