Android可绘制参数

时间:2012-09-12 22:06:50

标签: android

是否可能有像

这样的东西

抽拉/ myshape.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">

    <solid android:color="{0}" />
</shape>

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

这样的东西
Drawable myshape = ???.getDrawableWithParameters(R.drawable.myshape, 0x00ff00);

1 个答案:

答案 0 :(得分:0)

如果您按照示例中显示的方式创建shape,那么它将以GradientDrawable的形式进行访问。

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

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

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