Reputation: 385
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.
Upvotes: 7
Views: 6797
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 -
Upvotes: 0
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
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"
/>
Upvotes: 0
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