Я пытаюсь повторно использовать примитивные фигуры и составлять большую часть моего пользовательского интерфейса, используя эти декларативные XML-элементы.
Как сделать переменный атрибут Android?
Но я не хочу создавать отдельный XML файл для каждого значения атрибута и их перестановок и в процессе дублирования большей части работы.
Например, я хотел бы, чтобы потребитель этой формы мог определить значение android: radius?
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#449def"
android:endColor="#2f6699"
android:angle="270"/>
<stroke
android:width="1dp"
android:color="#2f6699"/>
<corners
android:radius="3dp"/>
</shape>
Установить атрибут из потребления родителя XML?
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/shape_box_round_blue_uniform" />
<!-- How to set the corner radius here? -->
<item android:drawable="@drawable/shape_box_round_blue" />
</selector>
Решения?
- Если это вообще возможно, я бы не хотел использовать какой-либо код Java-кода/избежать необходимости создавать пользовательские элементы управления/классы
- Использование ресурсов измерения может быть плодотворным проспектом?