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 >
|
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 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:
Program Explaining RelativeLayout
<? 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: