Как я могу определить легко повторно используемую базовую форму (или градиент, или углы) в XML?
У меня есть дюжина нарисованных градиентов, которые будут такими же, как начальный и конечный цвета. Я надеялся определить идентичные вещи где-то еще и иметь файл XML для каждого различного градиента, который определял только начальный и конечный цвета. Это возможно?
Это база:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient xmlns:android="http://schemas.android.com/apk/res/android"
android:type="linear"
android:angle="270"
android:startColor="#e1ffffff"
android:endColor="#e100ff00">
<stroke android:width="1dp"
android:color="#ff000000" />
<corners android:radius="4dp" />
</gradient>
</shape>
Затем я хотел перезаписать startColor и endColor (и, возможно, радиус углов или любое другое свойство) в файле XML каждого рисованного объекта.
Я попытался использовать оба родительских элемента и стили, но ни один из них не использовал ни одно из свойств. Например:
<style name="base_gradient">
<item name="android:angle">270</item>
<item name="android:type">linear</item>
<item name="android:startColor">#e1ffffff</item>
<item name="android:endColor">#e100ff00</item>
</style>
И тогда ничья выглядит так:
<gradient style="@style/base_gradient" />
Это не сработало. Я попытался аналогичным образом поместить вышеупомянутое в свой собственный XML-файл и затем сделать это для каждого рисованного объекта:
<gradient parent="@drawable/base_gradient" />
Это тоже не сработало.
Есть ли способ сделать это?