我正在查看Android源代码,似乎无法通过反射获取GradientDrawable的笔触宽度。我试图获得笔画宽度的原因是因为我在xml中编写了GradientDrawable并尝试动态更新它。
答案 0 :(得分:1)
如果是ShapeDrawable,则可以通过ShapeDrawable的绘画获得笔触宽度:
((ShapeDrawable) view.getBackground()).getPaint().getStrokeWidth();
答案 1 :(得分:0)
您可以使用以下方式动态更新GradientDrawable的笔触:
((GradientDrawable) mView.getBackground().mutate()).setStroke(width, color);
如How to change stroke color dynamically?
中所述还有更多更改笔触的选项,有关https://developer.android.com/reference/android/graphics/drawable/GradientDrawable#setStroke(int,%20int)
的说明我仍在寻找一种增加笔触宽度的方法。
(我知道这是3年前问过的,但现在还是有人可以阅读)