如何从代码中更改“纯色”?

时间:2013-05-27 15:03:05

标签: android android-layout android-xml

我在Shape中定义了xml。现在我需要从代码中更改solid color,请问您如何建议?

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" android:padding="10dp">
    <solid android:color="#000000"/>
    <corners
        android:bottomRightRadius="8dp"
        android:bottomLeftRadius="8dp"
        android:topLeftRadius="0dp"
        android:topRightRadius="0dp"/>
</shape>

2 个答案:

答案 0 :(得分:7)

我在我的代码中使用它

GradientDrawable myGrad = (GradientDrawable)rectangle.getBackground();
myGrad.setColor(Color.BLACK);

希望这会有所帮助:)

编辑:GradientDrawable代替ShapeDrawable

答案 1 :(得分:0)

当我设置项目的背景(在listview中)xml中定义的形状时,我遇到了问题,当我调用convertview的getBackground()方法时,我得到了ClassCastException,但是当我调用项目的outest视图的getBackground()方法,异常消失,问题解决。