views:

493

answers:

1

Hi

I have an image on a private file. I read the file, create the drawable, and assign it to an ImageView. The ImageView has WRAP_CONTENT so the size is automatic.

On 320x480 screens, the image looks good But on screens with more resolution and high density 480x800 or 480x854 (N1, droid) , when the image is for example 150x150, I see the image as 100x100.

Of course it has something to do with the density but not sure how should I resolve this.

This is my code:

FileInputStream fis = this.openFileInput("icon.png");

icon = Drawable.createFromStream(fis, "icon");

fis.close();

imageView.setImageDrawable(icon);

thanks

================================================================

update:

with the following code:

FileInputStream fis = this.openFileInput("icon.png");

icon = Drawable.createFromStream(fis, "icon");

if I then inspect the size of the icon, android thinks the size is 100x100, when really is 150x150.

Looks like its reducing the image by the density. Can anybody explain this and how to avoid this.

Thanks

+1  A: 

Set some dimensions in device independent pixels (or DIPs).

Jim Blackler
thanks, but in my case this is not a solution because the size of the image may change, this is why I have WRAP_CONTENT.Please look at the update about the wrong size.
Daniel Benedykt