嗨,我有一个可绘制的 xml 形状,它用作 View 的背景。需要根据情况在代码中更改其颜色。
所以我正在做
ShapeDrawable d = (ShapeDrawable) getResources().getDrawable(R.drawable.shape1);
d.getPaint().setShader(sd1);
但是 getDrawable 返回一个渐变可绘制对象,将其转换为 ShapeDrawable 会生成错误。
那么如何在代码中获取shapeDrawable并修改其属性。
最佳答案
我能够通过转换为 GradientDrawable 而不是 ShapeDrawable 来解决此问题。
GradientDrawable shape = (GradientDrawable) getResources().getDrawable(R.drawable.shape1);
shape.setColor(Color);
当我创建一个基于 Holo.Dialog 主题的自定义样式的 Activity 时,我使用了它。
关于android - 如何以编程方式修改可绘制对象的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18212945/