重用具有多种背景颜色的边框资源

时间:2015-01-05 16:07:09

标签: android-layout android-shape

我目前在/ res / drawable文件夹中有以下xml文件:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >

<solid
    android:color="@color/transparent_white" />

<stroke
    android:width="1dip"
    android:color="@color/light_gray" />
</shape>

有时我希望背景为白色,灰色,蓝色等,具体取决于我想要边框的项目。有没有办法在不创建n个xml文件的情况下执行此操作,其中唯一的区别是solid属性的颜色?

1 个答案:

答案 0 :(得分:0)

您可以通过动态声明形状并在运行时更改颜色来实现此目的。

ShapeDrawable shapeDrawable= new ShapeDrawable();
shapeDrawable.setShape(new RectShape());
shapeDrawable.getPaint().setColor(<your color>);

((TextView) row.findViewById(<your viewid>)).setBackgroundDrawable(shapeDrawable);