Open In App

Difference Between LinearLayout and RelativeLayout in Android

Last Updated : 07 Dec, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

LinearLayout

LinearLayout is a type of view group which is responsible for holding views in it either Horizontally or vertically. It is a type of Layout where one can arrange groups either Horizontally or Vertically.

Example Diagram:

LinearLayout View

Syntax:

XML




<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="either vertical or horizontal">
 
<!--ImageView, TextView, ButtonView etc.-->
 
</LinearLayout>


RelativeLayout

RelativeLayout is a layout in which we can arrange views/widgets according to the position of other view/widgets. It is independent of horizontal and vertical view and we can arrange it according to one’s satisfaction.

Example Diagram: 

RelativeLayout View

Syntax:

XML




<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
 
<!--ImageView, TextView, ButtonView
    etc with specified position-->
     
</RelativeLayout>


Difference Between LinearLayout and RelativeLayout

LinearLayout   

RelativeLayout   

We can adjust views and widgets linearly i.e. Horizontally and vertically. We can adjust views and widgets according to one’s satisfaction.

layout_weight attribute in the linear layout is used to specify the equal or specific size to the particular widget and view by using the following attribute.

android:layout_weight = ‘0’ 

Here Weight is specified as 0 in order to give equal size or space to each view or widget.

Various attributes like: layout_toRightOf, layout_toLeftOf, layout_below, layout_alignParentTop, layout_top, layout_alignParentLeft, layout_alignParentRight are used to specify the position of each view and widget.
It is  useful when we arrange views in a linear fashion It is useful when we arrange views in a relative fashion.

Syntax:

<LinearLayout>  

<!–Views, widgets–>

</LinearLayout>

Syntax:

<RelativeLayout>

<!–Views, Widgets–>

</RelativeLayout>

Example: In various Apps, LinearLayout is mainly applicable in the SignUp screen where Name, Email, Phone Number, Submit, etc. are arranged in a linear fashion. Example: In Google Play Store, when we open the app, the games, books, movies, and App’s sections all are arranges in Relative Layout Fashion. 
LinearLayout is less used as compared to RelativeLayout. RelativeLayout is used more in applications.
We can use LinearLayout inside RelativeLayout. We can also use RelativeLayout as a Child of LinearLayout.

Program Explaining LinearLayout

XML




<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:orientation="horizontal">
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="35dp"
        android:layout_marginTop="20sp"
        android:layout_marginRight="10sp"
        android:layout_weight="0"
        android:background="#004d00"
        android:text=" Geeks"
        android:textColor="#ffffff"
        android:textSize="40sp"
        android:textStyle="bold" />
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="20sp"
        android:layout_marginRight="10sp"
        android:layout_weight="0"
        android:background="#f2f2f2"
        android:text="For"
        android:textColor="#004d00"
        android:textSize="40sp"
        android:textStyle="bold" />
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="20sp"
        android:layout_marginRight="10sp"
        android:layout_weight="0"
        android:background="#004d00"
        android:text="Geeks"
        android:textColor="@color/white"
        android:textSize="40sp"
        android:textStyle="bold" />
     
</LinearLayout>


Output: 

OUTPUT

Program Explaining RelativeLayout

XML




<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white">
 
    <ImageView
        android:id="@+id/image_gfg"
        android:layout_width="100dp"
        android:layout_height="110dp"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:layout_marginRight="10dp"
        android:scaleType="centerCrop"
        android:src="@drawable/gfg" />
 
    <TextView
        android:id="@+id/gfg_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_toRightOf="@id/image_gfg"
        android:paddingTop="5dp"
        android:text="Geeks For Geeks"
        android:textColor="#004d00"
        android:textSize="32sp"
        android:textStyle="bold" />
 
    <TextView
        android:id="@+id/gfg_location"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/gfg_text"
        android:layout_marginLeft="10dp"
        android:layout_toRightOf="@id/image_gfg"
        android:text="Noida,UttarPradesh"
        android:textColor="#00b300"
        android:textSize="25sp" />
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/gfg_location"
        android:layout_marginLeft="10dp"
        android:layout_toRightOf="@id/image_gfg"
        android:text="Portal for CS Student"
        android:textColor="#009900"
        android:textSize="24sp" />
     
</RelativeLayout>


Output: 

OUTPUT

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads