Повторное использование ресурса границы с несколькими цветами фона
В настоящее время у меня есть следующий XML-файл в моей папке /res/drawable:
<?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, где единственное отличие - это цвет сплошного атрибута?
1 ответ
Вы можете сделать это, динамически объявив форму и изменив цвет во время выполнения.
ShapeDrawable shapeDrawable= new ShapeDrawable();
shapeDrawable.setShape(new RectShape());
shapeDrawable.getPaint().setColor(<your color>);
((TextView) row.findViewById(<your viewid>)).setBackgroundDrawable(shapeDrawable);