我目前在/ 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属性的颜色?
答案 0 :(得分:0)
您可以通过动态声明形状并在运行时更改颜色来实现此目的。
ShapeDrawable shapeDrawable= new ShapeDrawable();
shapeDrawable.setShape(new RectShape());
shapeDrawable.getPaint().setColor(<your color>);
((TextView) row.findViewById(<your viewid>)).setBackgroundDrawable(shapeDrawable);