Question

I have two xml files, header and footer as shown below

header.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#9d1246" >

        <Button
            android:id="@+id/button_backfromreg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="10dp"
            android:background="@drawable/backbtn"
            android:visibility="visible" />
    </LinearLayout>

</LinearLayout>

footer.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#9d1246" >
    </LinearLayout>

</LinearLayout>

I have included the above two layouts in my mainlayout as shown

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#eaedf2"
    android:orientation="vertical" >

    <include
        android:layout_weight="1"
        layout="@layout/header" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_margin="30dp"
        android:layout_weight="1"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:editable="false"
            android:ems="10"
            android:hint="Country"
            android:textColor="#655e5e"
            android:textSize="15sp" >

            <requestFocus />
        </EditText>

        <EditText
            android:id="@+id/editText2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:editable="false"
            android:ems="10"
            android:hint="State"
            android:textColor="#655e5e"
            android:textSize="15sp" />

        <EditText
            android:id="@+id/editText3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:editable="false"
            android:ems="10"
            android:hint="Place Keyword"
            android:textColor="#655e5e"
            android:textSize="15sp" />
    </LinearLayout>

    <include
        android:layout_height="0dp"
        android:layout_weight="1"
        layout="@layout/footer" />

</LinearLayout>

My problem is that, using the above layout i cant see the footer. Anyone please help me. Thanks in advance.

Was it helpful?

Solution

Keep your included layout in a container and set weight attribute to that container only.

This is your updated layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#eaedf2"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <include

            android:layout_height="match_parent"
            android:layout_width="match_parent"
            layout="@layout/header" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_margin="30dp"
        android:layout_weight="1"
        android:orientation="vertical" >

        <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:editable="false"
            android:ems="10"
            android:hint="Country"
            android:textColor="#655e5e"
            android:textSize="15sp" >

            <requestFocus />
        </EditText>

        <EditText
            android:id="@+id/editText2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:editable="false"
            android:ems="10"
            android:hint="State"
            android:textColor="#655e5e"
            android:textSize="15sp" />

        <EditText
            android:id="@+id/editText3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:editable="false"
            android:ems="10"
            android:hint="Place Keyword"
            android:textColor="#655e5e"
            android:textSize="15sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <include
            android:layout_height="match_parent"
            android:layout_width="match_parent"
            layout="@layout/footer" />
    </LinearLayout>

</LinearLayout>

OTHER TIPS

in your footer set match_parent for height..

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#9d1246" >
</LinearLayout>

Try this by giving weightSum = "3" to the parentLayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#eaedf2"
    android:orientation="vertical"
    android:weightSum="3"
 >

And also add params to the include

<include
         android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        layout="@layout/header" />


<include
         android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        layout="@layout/footer" />

Hope this works

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top