Search code examples
androidbitmapscaledrawable

Android: How to stop Android 1.6+ from scaling images


I updated my build to build against Android 1.6, and now my bitmaps are scaled down on high density screens. I do NOT want this behavior. I gave this a shot:

http://blog.tomgibara.com/post/190539066/android-unscaled-bitmaps

but the images are STILL scaling, that is UNLESS I set them to a specific height & width. If I use wrap_content they are scaled down.

I have an image loader using the unscaled bitmap loader to create a drawable like so:

Bitmap bm = UnscaledBitmapLoader.loadFromResource(imageBufferInputStream);
drawable = new BitmapDrawable(bm);

which I later assign to an ImageView like so:

imageView.setImageDrawable( copyBitmapDrawable( (BitmapDrawable) drawable) );

Solution

  • Wrapping the bitmap with a Drawable is the problem. The Drawable scales the Bitmap. Instead of using a Drawable, assign the Bitmap to the ImageView directly using imageView.setImageBitmap(Bitmap).