Skip to content
Related Articles

Related Articles

Improve Article

Difference Between LinearLayout and RelativeLayout in Android

  • Last Updated : 30 Sep, 2021
Geek Week

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

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

 

Want a more fast-paced & competitive environment to learn the fundamentals of Android?
Click here to head to a guide uniquely curated by our experts with the aim to make you industry ready in no time!



My Personal Notes arrow_drop_up
Recommended Articles
Page :