1

我有一个Shape定义在xml. 现在我需要solid color从代码中更改 a ,您能否建议如何?

<?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>
4

2 回答 2

7

我在我的代码中使用它

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

希望这可以帮助 :)

编辑:GradientDrawable代替ShapeDrawable

于 2013-05-27T15:08:57.487 回答
0

当我将项目的背景(在列表视图中)设置为xml中定义的形状时遇到了问题,当我调用转换视图的getBackground()方法时,我得到了ClassCastException,但是当我调用项目的外部视图的getBackground()方法时,异常消失,问题解决。

于 2016-03-09T08:57:55.000 回答