Android ImageView Fixing Image Size

AndroidImageviewAndroid Imageview

Android Problem Overview


I have an Android Application, where I have an ImageView, I need to keep the size constant, there can be various images that I need to put into this ImageView, of different sizes.

I just need to ensure that all the Images must fit into the ImageView, the Image should increase in size if it is smaller and should decrease, in case it is bigger.

Thanks a lot for your time.

Android Solutions


Solution 1 - Android

Fix ImageView's size with dp or fill_parent and set android:scaleType to fitXY.

Solution 2 - Android

In your case you need to

  1. Fix the ImageView's size. You need to use dp unit so that it will look the same in all devices.
  2. Set android:scaleType to fitXY

Below is an example:

<ImageView
    android:id="@+id/photo"
    android:layout_width="200dp"
    android:layout_height="100dp"
    android:src="@drawable/iclauncher" 
    android:scaleType="fitXY"/>

For more information regarding ImageView scaleType please refer to the developer website.

Solution 3 - Android

Try this

ImageView img
    Bitmap bmp;
    int width=100;
    int height=100;
    img=(ImageView)findViewById(R.id.imgView);
    bmp=BitmapFactory.decodeResource(getResources(),R.drawable.image);//image is your image                                                            
    bmp=Bitmap.createScaledBitmap(bmp, width,height, true);
    img.setImageBitmap(bmp);

Or If you want to load complete image size in memory then you can use

<ImageView
    android:id="@+id/img"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:src="@drawable/image" 
    android:scaleType="fitXY"/>

Solution 4 - Android

You can also try this, suppose if you want to make a back image button and you have "500x500 png" and want it to fit in small button size.

Use dp to fix ImageView's size.

add this line of code to your Imageview.

android:scaleType="fitXY"

EXAMPLE:

<ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/imageView2"
        android:src="@drawable/Backicon"
        android:scaleType="fitXY"
        />

Solution 5 - Android

I had the same issue and this helped me.

<ImageView
    android:id="@+id/image"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:scaleType="fitXY"
    />

Solution 6 - Android

You need to add android:scaleType and set fitXY in XML unless you add layout_width & layout_height attributes.
Example:
android:scaleType="fitXY"

If you want to add programmatically,
Example:
youriv.setScaleType(ImageView.ScaleType.FIT_XY);

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionShalabhView Question on Stackoverflow
Solution 1 - AndroidYoungsik OhView Answer on Stackoverflow
Solution 2 - AndroidLazy NinjaView Answer on Stackoverflow
Solution 3 - AndroidAtul BhardwajView Answer on Stackoverflow
Solution 4 - AndroidNikhil jassalView Answer on Stackoverflow
Solution 5 - AndroidSafeer UllahView Answer on Stackoverflow
Solution 6 - AndroidMubarrat HasanView Answer on Stackoverflow