Open In App

Difference Between LinearLayout and RelativeLayout in Android

Last Updated : 06 Feb, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

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 fashionIt 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.

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

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


Syntax:

XML
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<!--ImageView, TextView, ButtonView 
    etc with specified position-->
    
</RelativeLayout>

Program Explaining LinearLayout

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="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: 

Linear_Relative


Program Explaining RelativeLayout

XML
<?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: 

Layout_Relative


 



Next Article

Similar Reads