Format attribute value “android:drawable” not valid

You can use format=”integer”, the resource id of the drawable, and AttributeSet.getDrawable(…).

Here is an example.

Declare the attribute as integer in res/values/attrs.xml:

<resources>
    <declare-styleable name="MyLayout">
        <attr name="icon" format="integer" />
    </declare-styleable>
</resources>

Set the attribute to a drawable id in your layout:

<se.jog.MyLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    myapp:icon="@drawable/myImage"
/>

Get the drawable from the attribute in your custom widget component class:

ImageView myIcon;
//...
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyLayout);
Drawable drawable = a.getDrawable(R.styleable.MyLayout_icon);
if (drawable != null)
    myIcon.setBackgroundDrawable(drawable);

To see all options possible check the android src here

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)