在Android中,是否可以在没有反射的情况下获得渐变的笔触宽度?

时间:2016-01-19 06:36:17

标签: android android-drawable

我正在查看Android源代码,似乎无法通过反射获取GradientDrawable的笔触宽度。我试图获得笔画宽度的原因是因为我在xml中编写了GradientDrawable并尝试动态更新它。

2 个答案:

答案 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年前问过的,但现在还是有人可以阅读)