我在 ImageView 中有一个 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 之后,可绘制对象不会添加描边。有新方法还是我忘记了什么?
最佳答案
你应该使 View 无效:
mImageView.invalidate();
关于android - GradientDrawable setStroke 在 Android Lollipop 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29926305/