Android: How to resize image to fill parent?

Csabi picture Csabi · Apr 29, 2015 · Viewed 7.1k times · Source

I am working on application which shows images, and I need to create a view which shows big images in a 1:1 aspect ratio.

First, I have thumbnails which are at a 72x72 resolution. I have put them in an ImageView but even if I add the parameters android:width="fill_parent" and android:height="wrap_content", the image would not be not the size of the ImageView but is only centered in the mid.

I tried adding the parameter android:scaleType="centerCrop" which resized the image well horizontally but the height remained the same.

How could I set up my ImageView so that it would be on all devices as width as the parent view and it should also be as height.

I can do this programatically, but I need to be able to do it in XML.

My XML File:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    // The ImageView I am talking about above
    <ImageView
        android:id="@+id/invitation_imageview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dp"
        android:scaleType="centerCrop"
        android:src="@drawable/face_woman_smile" />

    <ImageView
        android:id="@+id/invitation_avatar_view_1"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:src="@drawable/face_woman_smile"
        android:scaleType="center"
        android:layout_margin="1dp" />

</LinearLayout>

Answer

Bojan Kseneman picture Bojan Kseneman · Apr 29, 2015

I think you need to add this to your ImageView

android:adjustViewBounds="true"