Definieren von XML-Eltern-Stil von Verlauf / Form / Ecken

Wie kann ich definieren, eine leicht wiederverwendbare Basis-Form (oder ein Farbverlauf, oder Ecken), die in XML?

Habe ich ein Dutzend oder so drawable Verläufe, die werden die gleichen sein, andere als die start-und end-Farben. Ich hatte gehofft, zu definieren, die identisch Zeug woanders und haben eine XML-Datei für jede andere Steigung, die nur definiert, die start-und end-Farben. Ist das möglich?

Dies ist die Basis:

<?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>

Dann wollte ich überschreiben der startColor und endColor (und vielleicht die Ecken radius zu oder jede andere Eigenschaft) in jedem drawable XML-Datei.

Ich habe versucht, mit beiden Eltern und Stile, aber keiner von Ihnen jede der Eigenschaften. Zum Beispiel:

<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>

Und dann die drawable aussieht:

<gradient style="@style/base_gradient" />

Das hat nicht funktioniert. Ich habe versucht, in ähnlicher Weise setzen die oben in seine eigenen XML-Datei und dann tun Sie dies für jeden drawable:

<gradient parent="@drawable/base_gradient" />

Das hat nicht funktioniert entweder.

Gibt es eine Möglichkeit, dies zu tun?

InformationsquelleAutor panda | 2011-10-03
Schreibe einen Kommentar