2013-07-29 11 views
8

C'è qualche possibilità di ottenere risorse dalla cartella drawable destra in qualche attributo personalizzato, in modo che io possa scrivere:risorsa Drawable da attributo personalizzato

<com.my.custom.View 
    android:layout_height="50dp" 
    android:layout_width="50dp" 
    ... 
    my_custom:drawableSomewhere="@drawable/some_image" /> 

e quindi semplice eseguire l'azione con drawable dentro la mia personalizzato classe di visualizzazione?

risposta

7

Vedere la risposta di EdgarK; è meglio. (Non posso cancellare questo dato che è la risposta accettata)

Questo risponde alla tua domanda?

"È possibile utilizzare format =" intero ", l'ID risorsa del drawable e AttributeSet.getDrawable (...)."

(da https://stackoverflow.com/a/6108156/413254)

28

v'è in realtà un formato attributo denominato "riferimento". Così si otterrà qualcosa di simile nella vostra abitudine viste classe:

case R.styleable.PMRadiogroup_images: 
        icons = a.getDrawable (attr); 
        break; 

Pur avendo sometning come questo nel tuo attrs.xml:

<attr name="images" format="reference"/> 

dove "a" è un TypedArray che si ottiene da attributi preso dal costruttore di viste.

C'è una buona risposta simile qui: Defining custom attrs

+0

Non dimenticate di aggiungere lo schema corretto: xmlns: custom = "http://schemas.android.com/apk/res-auto" – adalPaRi

Problemi correlati