Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: How to fill RelativeLayout to full width of screen?

Tags:

I am creating an Android app which has a main RelativeLayout and some LinearLayout within it.

Now i have this problem. When dragging items to the editor, e.g. a LinearLayout, it doesn't fit to the full width of the screen. How can I make this possible? This is my XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:gravity="fill"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<LinearLayout
    android:id="@+id/itemDetailLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:orientation="vertical" 
    android:fillViewport="true" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/itemImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:minHeight="40dp"
            android:minWidth="40dp"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/itemName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:text="Name"
            android:textAppearance="?android:attr/textAppearanceMedium" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="vertical" 
        android:fillViewport="true" >

        <TextView
            android:id="@+id/itemRecentHigh"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Recent High" />

        <TextView
            android:id="@+id/itemRecentLow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Recent Low" />

        <TextView
            android:id="@+id/itemAverage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Average" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/listViewLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/itemDetailLayout"
    android:layout_marginTop="10dp"
    android:fillViewport="true"
    android:gravity="fill_horizontal"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/searchListView"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true" >

    </ListView>
</LinearLayout>

Added a screenshot for more info. Added blue background to have some contrast.

http://i.stack.imgur.com/tPxsE.png

like image 376
MrMartinos Avatar asked Feb 06 '14 10:02

MrMartinos


1 Answers

Replace this:

   android:layout_width="wrap_content"
   android:layout_height="wrap_content"

With

   android:layout_width="match_parent"
   android:layout_height="wrap_content"

into your LinearLayout or Remove all the Padding from main RelativeLayout

like image 193
M D Avatar answered Sep 17 '22 17:09

M D