ImageView not keeping max height and width
Solution 1
Add the following to your XML code (Or use the appropriate function)
android:adjustViewBounds="true"
I don't know why this isn't a default, because it seems like it would be required for a large number of items. Still, adding this simple logic to your XML file will make all of the difference.
Solution 2
I havent. So, I ll be just guessing
- Did you try defining a ScaleType option?
- Check for opposing layout attributes that can cause the layout inflater to ignore the desired width/height values.
- I suppose you tried this already but use just Layout_height /Layout_width instead of min/max attributes..
Related videos on Youtube
Comments
-
bwoogie almost 2 years
I load an image into an
ImageView
using.setImageURI(selectedImageUri)
that is retrieved from the user's photo gallery. I have the image view restrict the size withandroid:maxHeight="150dp" android:minHeight="150dp" android:maxWidth="150dp" android:minWidth="150dp"
It's fine up until the you add the image from the gallery. The image then forgets about the max height and width. It is as wide as the display and there is a lot of space above and below the image. I had to add a scrollview just to see the image and scroll down. there is an even amount of space above and below. Has anyone run into this problem before?
-
AZ_ almost 9 yearspossible duplicate of Android imageview not respecting maxWidth?
-
Satish Rajbhar over 6 yearsIf rest answers are not working for you visit stackoverflow.com/a/47317310/6332104
-
-
bwoogie over 12 yearsThanks! I i forgot you can put actual numbers in the Layout height/width :O
-
newton_guima almost 11 yearsdude, you saved my day!
-
PearsonArtPhoto almost 11 years@MrAppleBR: You have no idea how long this took me to figure out... Glad to be of service!
-
marmor about 8 years@Aggressor if you need a fixed value you don't need setMaxWidth and setMinWidth, just set android:layout_width="50dp"
-
zgc7009 about 8 years@Aggressor You also should avoid using fixed widths like that unless you have a very specific case. The reason that works on iOS is you know what your screen size and resolution is. In Android it is very variable.
-
Aggressor about 8 years@zgc7009 Unless you...dynamically generate the width value from a percent of the screen size ;)