Повторное использование ресурса границы с несколькими цветами фона

В настоящее время у меня есть следующий 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);
Другие вопросы по тегам