is it possible that my ImageView
will fit to all screen sizes without the image look stretched?
i tried all scale types changing it to background and src with fill_parent
> wrap_content
but still. if the image is not smaller it just looks stretched..
example:
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:background="@drawable/background" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:background="@drawable/background" />
these 2 fits the width but the image is stretched.. but when i change it to src the image is just centered and small.
Those images on the site you linked to are actual size, so the simple answer is just to resize the image. You can't really do this without "stretching" the image if the image happens to be less than 300px wide or tall, but you can do it without changing the ratio, which is what I think you mean.
The trick is to put the image into a containing block element, eg a DIV. Once inside set the width of the image to 100%, this will instruct the browser to fit the image width flush with the left and right edges of the DIV.
There is no built-in scale type that allows the ImageView
to automatically upscale the image and keep its aspect ratio intact. The only scale type that does upscaling is fitXY
, which won't respect the aspect ratio, as you found out yourself too.
That being said, this topic has already been visited more than once. Have a look at some of the proposed suggestions for similar questions:
I'm sure'll be heaps more, so it might worth using the search box at the top.
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