¿Cómo puedo definir una forma de base (o gradiente o esquinas) fácilmente reutilizable en XML?Definición del estilo principal XML de degradado/forma/esquinas
Tengo una docena de degradados dibujables que serán los mismos que los colores de inicio y final. Esperaba definir el material idéntico en otro lugar y tener un archivo XML para cada gradiente diferente que solo definiera los colores de inicio y fin. ¿Es eso posible?
Esta es la base:
<?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>
luego quería para sobrescribir el StartColor y EndColor (y tal vez las esquinas radio demasiado o cualquier otra propiedad) en el archivo XML de cada estirable.
Intenté usar tanto padres como estilos, pero ninguno de ellos usa ninguna de las propiedades. Por ejemplo:
<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>
y luego el aspecto dibujable como:
<gradient style="@style/base_gradient" />
eso no funcionó. He intentado poner de manera similar al anterior en su propio archivo XML y luego hacer esto para cada dibujable:
<gradient parent="@drawable/base_gradient" />
eso no funcionó bien.
¿Hay alguna manera de hacerlo?