Difference Between LinearLayout and RelativeLayout in Android
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:
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:
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 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 = " Beginner" 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 = "Beginner" android:textColor = "@color/white" android:textSize = "40sp" android:textStyle = "bold" /> </ LinearLayout > |
Output:
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 = "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 = "Beginner For Beginner" 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: