2013-07-29 17 views
8

Czy istnieje możliwość uzyskania zasobu z rozciągliwej folderze prawo w jakiś atrybut niestandardowy, więc mogę napisać:rozciągliwej zasób z niestandardowym atrybutem

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

a następnie wykonywać proste działania z rozciągliwej wewnątrz mojego widoku niestandardowego klasie?

Odpowiedz

7

Zobacz odpowiedź EdgarK; to jest lepsze. (Nie mogę tego usunąć, ponieważ jest to zaakceptowana odpowiedź)

Czy to odpowiada na twoje pytanie?

"Można użyć formatu =" integer ", identyfikatora zasobu losowego i AttributeSet.getDrawable (...)."

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

28

Jest rzeczywiście format atrybut o nazwie "odniesienia". Więc dostaniesz coś takiego w swojej niestandardowej klasy odsłony:

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

Chociaż mając sometning tak w attrs.xml:

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

gdzie „a” jest TypedArray które można uzyskać z atrybutami wzięty z konstruktora widoków.

Jest dobry podobna odpowiedź tutaj: Defining custom attrs

+0

Nie zapomnij dodać właściwego schematu: xmlns: custom = „http://schemas.android.com/apk/res-auto” – adalPaRi

Powiązane problemy