gprathour
gprathour

Reputation: 15333

Android Show Images while maintaining Aspect Ratio

I am working on an App which shows images (by capturing using camera or choose from gallery) in some activity. The problem I am facing is showing images of different sizes. The actual size of image is very big even those which are captured by camera of same phone are large in size. So if I show them in an ImageView the get stretched.

I have seen in some apps like Facebook, when image is displayed in Full Screen mode, it maintains the aspect ratio I guess. The whole image, whatever its size may be, is shown in the screen but it doesn't get stretched. The image automatically adjusts its height and width as per the need. How to achieve the same functionality?

How to make ImageView which would be able to adjust its height and width (maximum already defined) as per the need.

   <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:scaleType="matrix"
        android:src="@drawable/defaultimage"
        android:padding="10dp" />

Upvotes: 0

Views: 439

Answers (1)

Argyle
Argyle

Reputation: 3394

You need a different android:scaleType in your layout. The ImageView.ScaleType documentation lists the different ones that are available. It sounds like you probably want to change matrix to fitCenter in your example.

Upvotes: 1

Related Questions