yucel
yucel

Reputation: 385

android imageview wrap_content

Hello everyone and thanks for your help.

I have a project in Android Studio.

I am using an ImageView inside vertical LinearLayout.

Here are my parameters;

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/imageView2"
    android:src="@drawable/myimg"
/>

You can see my image down below (red block) and imageview borders (blue line) there is no problem with width, it is %100 of my layout, but I want my image to fit the area while keeping the aspect ratio. as you can see in image there are white spaces, the ImageView height is bigger than my image, how can I fit image in ImageView?

I want this because I want that image to fit the width even the phone is portrait or landscape.

enter image description here

Upvotes: 7

Views: 6797

Answers (5)

yucel
yucel

Reputation: 385

I found the solution android:adjustViewBounds="true"

Upvotes: 29

Confuse
Confuse

Reputation: 5786

In imageview, there is a option of center crop -

android:scaleType="centerCrop"

What it will do is that it will crop the image from center. The output will be like -

resized

Upvotes: 0

Jithu
Jithu

Reputation: 1478

For ImageView, android:scaleType="fitXY" will loss the aspectration. Its better to use android:scaleType="fitCenter" and set the background for the imageView transparent.

If you dont want to keep aspectration, then setbackground() or fitxy will do your requirement

Upvotes: 0

Bhagirathsinh Gohil
Bhagirathsinh Gohil

Reputation: 673

your code is write but i don't know about parent layout and you image background is white & red part is middle in this background.

Here is code with parent layout relative

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MyActivity">



<ImageView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:src="@drawable/red"
     />

enter image description here

Upvotes: 0

williamj949
williamj949

Reputation: 11316

The size of the imageview is correct.You have to scale your images accordingly.ImageView has property of scaling.Try this android:scaleType="fitXY" and let me know.

Upvotes: 0

Related Questions