Android可绘制参数

是否可能有类似的东西

绘制/ myshape.xml

   

然后从java类中获取参数的可绘制传递值。 就像是

 Drawable myshape = ???.getDrawableWithParameters(R.drawable.myshape, 0x00ff00); 

如果您按照示例中显示的方式创建shape ,则可以将其作为GradientDrawable访问。

 GradientDrawable d = (GradientDrawable) getResources().getDrawable(R.drawable.yourid); 

如果您查看文档(上面的链接),您可以看到所有函数,您可以从GradientDrawable对象访问。 您也可以稍后使用此对象以编程方式设置背景和边框颜色和宽度。

我不是百分百肯定,每次在xml中创建一个形状时,你都会得到一个GradientDrawable 。 我需要自己修改一个形状上的一些属性,并在尝试转换为其他types的Drawable时看到它看到ClassCastExceptions