How to set the ImageButton
property of
app:srcCompat="@drawable/pic"
programmatically?
Something like myImageButton.setBackgroundResource(R.drawable.eng2);
but the property of app:srcCompat
.
How to set the ImageButton
property of
app:srcCompat="@drawable/pic"
programmatically?
Something like myImageButton.setBackgroundResource(R.drawable.eng2);
but the property of app:srcCompat
.
You need to use setImageResource() method.
imageButton.setImageResource(R.drawable.eng2);
First, ensure you are dealing with AppCompatImageView
, not regular ImageView
:
AppCompatImageView iv = (AppCompatImageView)findViewById(....);
and then you can do:
iv.setImageResource(R.drawable.pic);
See other public methods in docs.
AppCompatImageButton
instead of ImageButton
. –
Concoct Using setImageResource()
should fetch its resource in a backwards-compatible manner without any further effort required.
However if you are using setImageDrawable()
, the ImageView/ImageButton will not help with any backwards compat and it's up to you to supply a backward-compat drawable, which is important for eg. if using VectorDrawables
. The following will load and set a drawable in such a way:
val drawable = AppCompatResources.getDrawable(context, resourceId)
image.setImageDrawable(drawable)
None, of the provided solutions worked for me. I was using an ImageView. Finally, I found out that using setBackgroundResource()
works for me.
view.setBackgroundResource(R.drawable.ic_star_black_18dp)
I guess other methods are outdated and wouldn't work at the time of writing this,
iv_yourImageView.setImageDrawable(getResources().getDrawable(R.drawable.your_drawable));
This will work.
© 2022 - 2024 — McMap. All rights reserved.