In Android, LinearLayout and RelativeLayout are view groups used for arranging UI elements , but they are have few differences in their behavior and use cases.
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> | Syntax: <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. |
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:

Syntax:
<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:

Syntax:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!--ImageView, TextView, ButtonView
etc with specified position-->
</RelativeLayout>
Program Explaining LinearLayout
<?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="@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>
Layout:
Program Explaining RelativeLayout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
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="fitCenter"
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: