2013-04-11 16 views
32

Chcę używać niestandardowych komponentów w moim projekcie i chcę je dodać do atrybutów wyliczeniowych, jak poniżej, jak to zrobić?Używanie wyliczeń jako niestandardowych atrybutów XML

<com.abb.abbcustomcompanents.buttons.AbbButton 
     android:id="@+id/abbBtn1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:Type="How can i use enum here" 
     /> 

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="abbButton"> 
     <attr name="Type" format="enum"/> 
     <attr name="onAction" format="string"/> 
    </declare-styleable> 
</resources> 

Dziękujemy!

+1

Sprawdź to http://stackoverflow.com/a/15231645/1329126 –

+0

Dzięki temu jest to akceptowalna odpowiedź! jeśli napiszesz to jako odpowiedź, mogę oznaczyć to jako zaakceptowane. – Talha

Odpowiedz

54

Ex:

<attr name="myProperty" format="enum"> 
     <enum name="None" value="0"/> 
     <enum name="One" value="1"/> 
     <enum name="Two" value="2"/> 
     <enum name="Three" value="3"/> 
</attr> 

Zastosowanie tak:

<YourCustomView 
    ... 
    app:myProperty="One"/> 

referencyjny

https://stackoverflow.com/a/15231645/1329126

+0

Jak mogę to zrobić w moim widoku niestandardowym? –

+0

@NeonWarge Trochę za późno wiem, ale w przyszłości dodałem przypadek użycia –

2

Zamówienie wewnątrz sprawach XML, przynajmniej do Eclipse. Zdefiniuj swoje wyliczenie powyżej (lub wewnątrz) twojego stylu deklarowanego ... nie poniżej.

Miałem bardzo długie wyliczenie, więc umieściłem to na końcu mojego XML, aby poprawić czytelność. Parsowałby poprawnie, ale odrzucił wartości w trybie projektowania.

Powiązane problemy