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

我来到将Drawable存储在Drawable变量中的步骤,因此,现在我想获取形状的颜色(纯标签)。

有什么建议吗?

最佳答案

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是您想要获得的。

10-08 18:43