ImageView not keeping max height and width

23,206

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

  1. Did you try defining a ScaleType option?
  2. Check for opposing layout attributes that can cause the layout inflater to ignore the desired width/height values.
  3. I suppose you tried this already but use just Layout_height /Layout_width instead of min/max attributes..
Share:
23,206

Related videos on Youtube

bwoogie
Author by

bwoogie

I like to program, sometimes. SOreadytohelp

Updated on July 09, 2022

Comments

  • bwoogie
    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 with

    android: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?

  • bwoogie
    bwoogie over 12 years
    Thanks! I i forgot you can put actual numbers in the Layout height/width :O
  • newton_guima
    newton_guima almost 11 years
    dude, you saved my day!
  • PearsonArtPhoto
    PearsonArtPhoto almost 11 years
    @MrAppleBR: You have no idea how long this took me to figure out... Glad to be of service!
  • marmor
    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
    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
    Aggressor about 8 years
    @zgc7009 Unless you...dynamically generate the width value from a percent of the screen size ;)