Jak zdefiniować prosty kształt wielokrotnego użytku (lub gradient lub narożniki) w XML?Definiowanie rodzica XML Style gradientu/kształtu/narożników
Mam kilkanaście rozkładanych gradientów, które będą takie same, jak kolory początkowe i końcowe. Miałem nadzieję, że zdefiniuję identyczne rzeczy gdzie indziej i będę mieć plik XML dla każdego gradientu, który definiuje tylko kolory początkowy i końcowy. Czy to jest możliwe?
Jest to podstawa:
<?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>
Potem chciałem zastąpić startColor i endColor (a może też promień naroża lub inna własność) w pliku XML za każdym rozciągliwej.
Próbowałem używać zarówno rodzica, jak i stylów, ale żadne z nich nie używa żadnej z właściwości. Na przykład:
<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>
a następnie rozciągliwej wygląda następująco:
<gradient style="@style/base_gradient" />
To nie działa. Próbowałem podobnie oddanie wyżej w oddzielnym pliku XML, a następnie robi to dla siebie odkształcalne:
<gradient parent="@drawable/base_gradient" />
To nie działało.
Czy istnieje sposób, aby to zrobić?