1

我想获取存储在可绘制的 xml 文件中的形状的颜色。

我来到了将 Drawable 存储在 Drawable 变量中的步骤,所以,现在我想获取形状的颜色(实心标签)。

有什么建议吗?

4

1 回答 1

3
GradientDrawable gradientDrawable = (GradientDrawable)view.getBackground();
Class<? extends GradientDrawable> aClass = gradientDrawable.getClass();
try {
    Field mFillPaint = aClass.getDeclaredField("mFillPaint");
    mFillPaint.setAccessible(true);
    Paint strokePaint= (Paint) mFillPaint.get(gradientDrawable);
    int solidColor = strokePaint.getColor();
} catch (Exception e) {
    e.printStackTrace();
}

我认为solidColor是你想要得到的。

于 2016-11-17T08:27:06.070 回答