Search code examples
androidandroid-layoutandroid-linearlayoutandroid-relativelayout

Nested Layout Design (Relative and Linear)


Help me with the coding i need the linear layout to appear below the relative layout it seems to be overlapping.Below is my code.Having difficulty with it so decided to ask a question.Thanks in advance for help `

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/front"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="8dp" >

    <RelativeLayout
        android:id="@+id/ca"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_margin="5dp"
        android:background="#b6b4b4" >

        <ImageView
            android:id="@+id/thumbnail"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_alignParentLeft="true"
            android:layout_marginRight="8dp"
            android:background="#b6b4b4"
            android:src="@drawable/principal" />

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/thumbnail"
            android:layout_toRightOf="@+id/thumbnail"
            android:background="#b6b4b4"
            android:text="Dr.Jose Swaminathan"
            android:textSize="20sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/rating"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/title"
            android:layout_marginTop="1dip"
            android:layout_toRightOf="@+id/thumbnail"
            android:background="#b6b4b4"
            android:text="Principal"
            android:textSize="20sp" />
    </RelativeLayout>

    <View
        android:id="@+id/a"
        android:layout_width="fill_parent"
        android:layout_height="5dp"
        android:layout_below="@+id/ca"
        android:layout_marginTop="5dip"
        android:background="#5c92fa" />

    <LinearLayout
        android:id="@+id/kl"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/gf"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:below="+id/a"
            android:text="Contact No"
            android:textSize="20sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/g"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:text="9566235224"
            android:textSize="38sp" />
    </LinearLayout>

    <View
        android:id="@+id/aa"
        android:layout_width="fill_parent"
        android:layout_height="3dp"
        android:layout_marginTop="5dip"
        android:background="#5c92fa" />

    <LinearLayout
        android:id="@+id/gg"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/gp"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:text="Email_ID"
            android:textSize="20sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/ll"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dip"
            android:text="[email protected]"
            android:textSize="18sp" />
    </LinearLayout>`

Solution

  • You just need to keep specifying that each child of your parent RelativeLayout is below the previous one. Or, of course, if they really are all one below the next, you could have the root view be a LinearLayout. But keeping the parent as a RelativeLayout, you would need this:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE RelativeLayout>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/front"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="8dp" >
    
        <RelativeLayout
            android:id="@+id/ca"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:layout_margin="5dp"
            android:background="#b6b4b4" >
    
            <ImageView
                android:id="@+id/thumbnail"
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:layout_alignParentLeft="true"
                android:layout_marginRight="8dp"
                android:background="#b6b4b4"
                android:src="@drawable/principal" />
    
            <TextView
                android:id="@+id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignTop="@+id/thumbnail"
                android:layout_toRightOf="@+id/thumbnail"
                android:background="#b6b4b4"
                android:text="Dr.Jose Swaminathan"
                android:textSize="20sp"
                android:textStyle="bold" />
    
            <TextView
                android:id="@+id/rating"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/title"
                android:layout_marginTop="1dip"
                android:layout_toRightOf="@+id/thumbnail"
                android:background="#b6b4b4"
                android:text="Principal"
                android:textSize="20sp" />
        </RelativeLayout>
    
        <View
            android:id="@+id/a"
            android:layout_width="fill_parent"
            android:layout_height="5dp"
            android:layout_below="@+id/ca"
            android:layout_marginTop="5dip"
            android:background="#5c92fa" />
    
        <LinearLayout
            android:id="@+id/kl"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/a"
            android:layout_margin="5dp"
            android:orientation="vertical" >
    
            <TextView
                android:id="@+id/gf"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dip"
                android:below="+id/a"
                android:text="Contact No"
                android:textSize="20sp"
                android:textStyle="bold" />
    
            <TextView
                android:id="@+id/g"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dip"
                android:text="9566235224"
                android:textSize="38sp" />
        </LinearLayout>
    
        <View
            android:id="@+id/aa"
            android:layout_width="fill_parent"
            android:layout_height="3dp"
            android:layout_below="@+id/kl"
            android:layout_marginTop="5dip"
            android:background="#5c92fa" />
    
        <LinearLayout
            android:id="@+id/gg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/aa"
            android:layout_margin="5dp"
            android:orientation="vertical" >
    
            <TextView
                android:id="@+id/gp"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dip"
                android:text="Email_ID"
                android:textSize="20sp"
                android:textStyle="bold" />
    
            <TextView
                android:id="@+id/ll"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dip"
                android:text="[email protected]"
                android:textSize="18sp" />
        </LinearLayout>
    </RelativeLayout>