Android Imageview fill the screen width
23,923
Solution 1
Thank you to all but none of your answers solve my problem. Finally I used Maurycy Wojtowicz's ScaleImageView class.
This view will auto determine the width or height by determining if the height or width is set and scale the other dimension depending on the images dimension
Solution 2
Sounds to me like you want to use android:scaleType="fitCenter"
and android:adjustViewBounds="true"
on your ImageView.
Solution 3
use android:scaleType="fitXY"
.
This will scale the image in X and Y independently, so that src matches dst exactly. This may change the aspect ratio of the src.
Related videos on Youtube
Author by
tsil
Updated on July 23, 2022Comments
-
tsil almost 2 years
Here my layout file:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="#000" tools:context=".CproductDetails" > <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/shape_bg" > <ImageView android:id="@+id/product_image" android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/ic_tweet_placeholder_photo_dark_error" android:scaleType="center" /> <TextView android:id="@+id/product_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:textIsSelectable="true" android:textColor="#95ab56" android:textSize="20sp" android:layout_marginTop="7dip" /> <TextView android:id="@+id/product_price" android:layout_width="match_parent" android:layout_height="wrap_content" android:textIsSelectable="true" android:textSize="20sp" android:textColor="#efeeea" /> <TextView android:id="@+id/product_commerce" android:layout_width="match_parent" android:layout_height="wrap_content" android:textIsSelectable="true" android:textSize="20sp" /> <TextView android:id="@+id/product_city" android:layout_width="match_parent" android:layout_height="wrap_content" android:textIsSelectable="true" android:textSize="15sp" android:layout_marginTop="10dip" android:layout_marginBottom="10dip" /> <TextView android:id="@+id/product_township" android:layout_width="match_parent" android:layout_height="wrap_content" android:textIsSelectable="true" android:textSize="15sp" android:visibility="gone" android:layout_marginBottom="10dip" android:drawableLeft="@drawable/location_place" android:drawablePadding="7dip" /> <TextView android:id="@+id/product_website" android:layout_width="match_parent" android:layout_height="wrap_content" android:textIsSelectable="true" android:autoLink="web" android:textSize="15sp" android:drawableLeft="@drawable/location_web_site" android:drawablePadding="7dip" android:visibility="gone" /> <TextView android:id="@+id/product_tel" android:layout_width="match_parent" android:layout_height="wrap_content" android:textIsSelectable="true" android:textSize="20sp" android:drawableLeft="@drawable/device_access_call" android:drawablePadding="7dip" android:visibility="gone" /> </LinearLayout>
The result in a phone:
and the result in a 7in tablet:
I want to make the image fill the screen width also in tablet. Like Twitter app for example:
-
MarsAtomic about 11 yearsYour answer is going to depend on your layout, so why don't you post the entire XML layout file?
-
Raghunandan about 11 yearsandroid:layout_height="fill_parent"
-
CRUSADER about 11 yearsandroid:layout_width='fill_parent' will certainly solve your issue, but i think that will distort or rather stretch your image which will not look good. I think the output you are getting now looks pretty OK to me.
-
-
lilbyrdie almost 9 yearswhich is relatively useless for most photos, since aspect ratio is critical
-
Vikash Kumar almost 8 yearsfitXY will take the complete x axis and y axis as our described layout height
-
Abandoned Cart about 7 yearsThe class manually adds centerInside or centerCrop scaling to the image. It is a bloated version of many better answers on both this and the 10 duplicates of this question that do not require an extraneous class.