Scale background image to wrap content of layout Scale background image to wrap content of layout android android

Scale background image to wrap content of layout


I had the same problem (I think), and the only solution I could find was this:

<RelativeLayout    android:layout_width="match_parent"    android:layout_height="wrap_content"    >    <View        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:background="@drawable/some_image"        android:layout_alignTop="@+id/actual_content"        android:layout_alignBottom="@id/actual_content"        android:layout_alignLeft="@id/actual_content"        android:layout_alignRight="@id/actual_content"        />    <LinearLayout        android:id="@id/actual_content"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        >       <!-- more stuff ... -->    </LinearLayout></RelativeLayout>


You may try this trick,

  • FrameLayout (wrapcontent, wrapcontent)
    • ImageView (match parent, match parent) // its your background
    • LinearLayout (wrapcontent, wrapcontent)
      • All your contents goes inside this linear layout or any other type what ever you want


Work with RealtiveLayout (no mandatory but instead of FrameLayout and use android:scaleType="fitXY". Move the imageView to RealtiveLayout which contains the textviews android:id="@+id/HeaderList" and unset the background android:background="@drawable/header" at this level.

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout          android:id="@+id/principal"         android:layout_width="fill_parent"         android:layout_height="fill_parent"         android:background="@drawable/header" >     <RelativeLayout          android:layout_width="fill_parent"         android:id="@+id/HeaderList"          android:layout_gravity="top"         android:layout_height="wrap_content" >           <ImageView             android:id="@+id/backImg"             android:layout_width="fill_parent"             android:layout_height="fill_parent"             android:layout_centerInParent="true"             android:adjustViewBounds="true"             android:background="@color/blancotransless"             android:src="@drawable/header"             android:scaleType="fitXY" >         </ImageView>             <TextView                  android:layout_height="wrap_content"                 android:layout_width="wrap_content"                  android:id="@+id/NameText"                 android:text="John Doe"                  android:textColor="#FFFFFF"                 android:textSize="30sp"                  android:layout_alignParentLeft="true"                 android:layout_alignParentTop="true"                  android:paddingLeft="4dp"                 android:paddingTop="4dp"                  />             <TextView                  android:layout_height="wrap_content"                 android:layout_width="wrap_content"                  android:textColor="#FFFFFF"                 android:layout_alignParentLeft="true"                  android:id="@+id/HoursText"                 android:text="170 hours"                  android:textSize="23sp"                 android:layout_below="@+id/NameText"                  android:paddingLeft="4dp"                  />         </RelativeLayout>       </RelativeLayout>

More or less it should work!