2016-05-03 8 views
0

Ich habe ein Compound-Steuerelement, das im Wesentlichen eine Button mit einer ProgressBar kombiniert. Es enthält eine Hintergrund-Eigenschaft, die ich in attrs.xml wie erklärt haben:Hintergrundeigenschaft für benutzerdefinierte Compound-Steuerelement

<?xml version="1.0" encoding="UTF-8" ?> 

<resources> 
    <declare-styleable name="MyControl"> 
     <attr name="background" format="reference" /> 
    </declare-styleable> 
</resources> 

Im Konstruktor meiner Kontrolle, ich ziehe dann den Hintergrund aus dem TypedArray und wenden Sie es.

All dies funktionierte bis vor kurzem, als ich eine Abhängigkeit von der v4-Support-Bibliothek hinzufügen musste. Jetzt bekomme ich diesen Build Fehler in meinem attrs.xml Datei:

Fehler APT0000: Attribut "Hintergrund" wurde bereits definiert (APT0000)

Warum ist das? Und was kann ich als Alternative tun, damit die Konsumenten meiner Verbundkontrolle den Hintergrund setzen können?

Antwort

0

Das Attribut "Hintergrund" wurde bereits in der Support-Bibliothek definiert. Sie müssen das also nicht noch einmal definieren. Sie fügen einfach das Attribut hinzu, ohne es zu definieren, so

Wenn Sie App: Hintergrund in der benutzerdefinierten Ansicht verwenden möchten, dann ist <attr name="background"/> genug in der Attrs-Datei.

Wenn Sie Android: Hintergrund in der benutzerdefinierten Ansicht verwenden möchten, verwenden Sie diese Zeile in attrs.

+0

Das Setzen von '' in meine _attrs.xml_ ist genau das, was ich versuchte und was mir den Kompilierungsfehler beschert. –

+0

Ohne das Format = "Referenz"? – Bob

Verwandte Themen