2016-07-29 38 views

Antwort

7

reference Das Format wird verwendet, wenn das Attribut auf eine andere Ressourcen-ID verweist. Zum Beispiel kann das folgende Attribut wie verwendet werden:

<!-- Declaration --> 
<attr name="mydrawale" format="reference" /> 

<!-- Usage --> 
app:mydrawable="@drawable/shape1" 

So Ressourcen wie @layout/..., @color/..., @style/... sind vom Typ reference.

jedoch Formate Attribut wie color, boolean, usw. Farbe Literale müssen (z.B. 0x00FF00) und boolesche Literale (z.B. true) sind.

In Ihrem Fall ist spinnerDropDownItemStyle ein Attribut, das eine Ressource wie @style/... erhält, die selbst ein Zeiger auf einen Ressourceneintrag vom Typ style ist.

Übrigens können Sie das Format mit | auf mehrere Typen einstellen. Zum Beispiel sind für das folgende Attribut sowohl @color/mycolor als auch 0x00FF00 akzeptabel.

<attr name="mycolor" format="reference|color" /> 
+0

Danke für die Erklärung. Es hilft einigen. +1. Ist es möglich, dass Sie mir helfen, in diesem Beispiel in den tatsächlichen Stil zu bohren, den sie verwenden? Ich möchte nur ein vollständiges Beispiel meines Falles sehen und vielleicht wird die ganze Sache endlich klicken. Basierend auf dem Gespräch scheint es einen objektorientierten Unfug zu geben, während du tiefer bohrst. Ich kann so viel von Ihrem Beispiel sehen, aber es wäre hilfreich, tiefer in den referenzierten "Stil" zu gehen. –

+0

@NouvelTravay Dies ist ein Attribut, das eine Style-ID erhält (z. B. '@ style/mystyle'). Diese ID kann später verwendet werden, um die Dropdown-Elemente zu stilisieren. –