What is the difference between setImageBitmap
and setImageDrawable
?
I have an image which I would like to set dynamically from file. The tutorial that I followed says to convert my Bitmap
to a BitmapDrawable
then set it using setImageDrawable
. I've notice that setting the Bitmap
directly with setImageBitmap
also works but I don't notice any difference.
Bitmap image = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); BitmapDrawable bitmapDrawable = new BitmapDrawable(image); imageView.setImageDrawable(bitmapDrawable);
OR
Bitmap image = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); imageView.setImageBitmap(image);
There is no difference between the two internally setImageBitmap
is calling setImageDrawable
.
Below code is picked from ImageView.java of AOSP
public void setImageBitmap(Bitmap bm) { // if this is used frequently, may handle bitmaps explicitly // to reduce the intermediate drawable object setImageDrawable(new BitmapDrawable(mContext.getResources(), bm)); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With