0% found this document useful (0 votes)
9 views

Android - UI Layouts

The document provides an overview of Android UI layouts, explaining the role of View and ViewGroup classes in creating user interfaces. It details various layout types such as LinearLayout, RelativeLayout, and TableLayout, along with common layout attributes like width, height, and margins. Additionally, it describes how to define layouts in XML and access them in application code.

Uploaded by

NAZEENA NIZAR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Android - UI Layouts

The document provides an overview of Android UI layouts, explaining the role of View and ViewGroup classes in creating user interfaces. It details various layout types such as LinearLayout, RelativeLayout, and TableLayout, along with common layout attributes like width, height, and margins. Additionally, it describes how to define layouts in XML and access them in application code.

Uploaded by

NAZEENA NIZAR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Page 1 of 6

Android - UI Layouts
The basic building block for user interface is a View object which is created from the
View class and occupies a rectangular area on the screen and is responsible for drawing
and event handling. View is the base class for widgets, which are used to create
interactive UI components like buttons, text fields, etc.

The ViewGroup is a subclass of View and provides invisible container that hold other
Views or other ViewGroups and define their layout properties.

At third level we have different layouts which are subclasses of ViewGroup class and a
typical layout defines the visual structure for an Android user interface and can be
created either at run time using View/ViewGroup objects or you can declare your
layout using simple XML file main_layout.xml which is located in the res/layout folder
of your project.

Layout params

This tutorial is more about creating your GUI based on layouts defined in XML file. A
layout may contain any type of widgets such as buttons, labels, textboxes, and so on.
Following is a simple example of XML file having LinearLayout −

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

https://www.tutorialspoint.com/android/android_user_interface_layouts.htm 1/6
Page 2 of 6

<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is a TextView" />

<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is a Button" />

<!-- More GUI components go here -->

</LinearLayout>

Once your layout has created, you can load the layout resource from your application
code, in your Activity.onCreate() callback implementation as shown below −

public void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

Android Layout Types


There are number of Layouts provided by Android which you will use in almost all the
Android applications to provide different view, look and feel.

Sr.No Layout & Description

Linear Layout
1 LinearLayout is a view group that aligns all children in a single direction,
vertically or horizontally.

Relative Layout
2
RelativeLayout is a view group that displays child views in relative positions.

Table Layout
3
TableLayout is a view that groups views into rows and columns.

Absolute Layout
4
AbsoluteLayout enables you to specify the exact location of its children.

https://www.tutorialspoint.com/android/android_user_interface_layouts.htm 2/6
Page 3 of 6

Frame Layout
5 The FrameLayout is a placeholder on screen that you can use to display a
single view.

List View
6
ListView is a view group that displays a list of scrollable items.

Grid View
7 GridView is a ViewGroup that displays items in a two-dimensional, scrollable
grid.

Layout Attributes
Each layout has a set of attributes which define the visual properties of that layout.
There are few common attributes among all the layouts and their are other attributes
which are specific to that layout. Following are common attributes and will be applied to
all the layouts:

Sr.No Attribute & Description

android:id
1
This is the ID which uniquely identifies the view.

android:layout_width
2
This is the width of the layout.

android:layout_height
3
This is the height of the layout

android:layout_marginTop
4
This is the extra space on the top side of the layout.

android:layout_marginBottom
5
This is the extra space on the bottom side of the layout.

android:layout_marginLeft
6
This is the extra space on the left side of the layout.

android:layout_marginRight
7
This is the extra space on the right side of the layout.

android:layout_gravity
8
This specifies how child Views are positioned.

android:layout_weight
9 This specifies how much of the extra space in the layout should be allocated to
the View.

https://www.tutorialspoint.com/android/android_user_interface_layouts.htm 3/6
Page 4 of 6

android:layout_x
10
This specifies the x-coordinate of the layout.

android:layout_y
11
This specifies the y-coordinate of the layout.

android:layout_width
12
This is the width of the layout.

android:paddingLeft
13
This is the left padding filled for the layout.

android:paddingRight
14
This is the right padding filled for the layout.

android:paddingTop
15
This is the top padding filled for the layout.

android:paddingBottom
16
This is the bottom padding filled for the layout.

Here width and height are the dimension of the layout/view which can be specified in
terms of dp (Density-independent Pixels), sp ( Scale-independent Pixels), pt ( Points
which is 1/72 of an inch), px( Pixels), mm ( Millimeters) and finally in (inches).

You can specify width and height with exact measurements but more often, you will use
one of these constants to set the width or height −

android:layout_width=wrap_content tells your view to size itself to the


dimensions required by its content.
android:layout_width=fill_parent tells your view to become as big as its
parent view.

Gravity attribute plays important role in positioning the view object and it can take one
or more (separated by '|') of the following constant values.

Constant Value Description

Push object to the top of its container, not changing


top 0x30
its size.

Push object to the bottom of its container, not


bottom 0x50
changing its size.

Push object to the left of its container, not changing


left 0x03
its size.

https://www.tutorialspoint.com/android/android_user_interface_layouts.htm 4/6
Page 5 of 6

Push object to the right of its container, not


right 0x05
changing its size.

Place object in the vertical center of its container,


center_vertical 0x10
not changing its size.

Grow the vertical size of the object if needed so it


fill_vertical 0x70
completely fills its container.

Place object in the horizontal center of its container,


center_horizontal 0x01
not changing its size.

Grow the horizontal size of the object if needed so it


fill_horizontal 0x07
completely fills its container.

Place the object in the center of its container in both


center 0x11 the vertical and horizontal axis, not changing its
size.

Grow the horizontal and vertical size of the object if


fill 0x77
needed so it completely fills its container.

Additional option that can be set to have the top


and/or bottom edges of the child clipped to its
container's bounds. The clip will be based on the
clip_vertical 0x80
vertical gravity: a top gravity will clip the bottom
edge, a bottom gravity will clip the top edge, and
neither will clip both edges.

Additional option that can be set to have the left


and/or right edges of the child clipped to its
container's bounds. The clip will be based on the
clip_horizontal 0x08
horizontal gravity: a left gravity will clip the right
edge, a right gravity will clip the left edge, and
neither will clip both edges.

Push object to the beginning of its container, not


start 0x00800003
changing its size.

Push object to the end of its container, not changing


end 0x00800005
its size.

Explore our latest online courses and learn new skills at your own pace. Enroll and
become a certified expert to boost your career.

View Identification

https://www.tutorialspoint.com/android/android_user_interface_layouts.htm 5/6
Page 6 of 6

A view object may have a unique ID assigned to it which will identify the View uniquely
within the tree. The syntax for an ID, inside an XML tag is −

android:id="@+id/my_button"

Following is a brief description of @ and + signs −

The at-symbol (@) at the beginning of the string indicates that the XML parser
should parse and expand the rest of the ID string and identify it as an ID
resource.

The plus-symbol (+) means that this is a new resource name that must be
created and added to our resources. To create an instance of the view object and
capture it from the layout, use the following −

Button myButton = (Button) findViewById(R.id.my_button);

https://www.tutorialspoint.com/android/android_user_interface_layouts.htm 6/6

You might also like