
- Android Basics
- Android - Home
- Android - Overview
- Android - Environment Setup
- Android - Architecture
- Android - Application Components
- Android - Hello World Example
- Android - Resources
- Android - Activities
- Android - Services
- Android - Broadcast Receivers
- Android - Content Providers
- Android - Fragments
- Android - Intents/Filters
- Android - User Interface
- Android - UI Layouts
- Android - UI Controls
- Android - Event Handling
- Android - Styles and Themes
- Android - Custom Components
- Android Advanced Concepts
- Android - Drag and Drop
- Android - Notifications
- Location Based Services
- Android - Sending Email
- Android - Sending SMS
- Android - Phone Calls
- Publishing Android Application
- Android Useful Examples
- Android - Alert Dialoges
- Android - Animations
- Android - Audio Capture
- Android - AudioManager
- Android - Auto Complete
- Android - Best Practices
- Android - Bluetooth
- Android - Camera
- Android - Clipboard
- Android - Custom Fonts
- Android - Data Backup
- Android - Developer Tools
- Android - Emulator
- Android - Facebook Integration
- Android - Gestures
- Android - Google Maps
- Android - Image Effects
- Android - ImageSwitcher
- Android - Internal Storage
- Android - JetPlayer
- Android - JSON Parser
- Android - Linkedin Integration
- Android - Loading Spinner
- Android - Localization
- Android - Login Screen
- Android - MediaPlayer
- Android - Multitouch
- Android - Navigation
- Android - Network Connection
- Android - NFC Guide
- Android - PHP/MySQL
- Android - Progress Circle
- Android - ProgressBar
- Android - Push Notification
- Android - RenderScript
- Android - RSS Reader
- Android - Screen Cast
- Android - SDK Manager
- Android - Sensors
- Android - Session Management
- Android - Shared Preferences
- Android - SIP Protocol
- Android - Spelling Checker
- Android - SQLite Database
- Android - Support Library
- Android - Testing
- Android - Text to Speech
- Android - TextureView
- Android - Twitter Integration
- Android - UI Design
- Android - UI Patterns
- Android - UI Testing
- Android - WebView Layout
- Android - Wi-Fi
- Android - Widgets
- Android - XML Parsers
- Android Useful Resources
- Android - Questions and Answers
- Android - Useful Resources
- Android - Discussion
Android UI Layouts
Introduction
UI Layouts in android are used to define the user interface which is being displayed to the user when the mobile application is being used. It is generally used to display what the user will see on the screen. Every android application consists of one or more UI layouts present within it. Every activity which is being created within an android application consists of different types of UI layouts within it. UI Layouts are generally used as a parent component which holds all the widgets within the application whether it may be text view, image view or others. Layouts in Android are also referred to as View Groups which hold all the views present within it. In this article we will take a look at different types of UI Layouts present in Android.
Different types of UI Layouts in Android.
Constraint Layout.
Relative Layout.
Linear Layout.
Frame Layout.
Table Layout.
Absolute Layout.
We will be creating a simple project for the demonstration of each layout.
Constraint Layout
Constraint Layout is one of the mostly used UI Layouts within any android application. It is used to position and size widgets within the view group in a flexible way. We can specify the position of layout constraints for each child within this view group relative to the other view present.
Example for Constraint Layout
Navigate to aactivity_main.xml and add below code to it.
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Layouts in Android" android:textAlignment="center" android:textColor="#FF000000" android:textSize="20sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/idTVSubHeading" android:text="Constraint Layout in Android" android:textAlignment="center" android:textColor="#FF000000" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@id/textView" /> </androidx.constraintlayout.widget.ConstraintLayout>
Output for Constraint Layout
Relative Layout
A Relative layout is a layout where the position of the widgets present within this view group can be described in relation to each other or to the parent. With the help of this layout we can align the elements relative to each other with the help of ids of that specific widgets.
Example for Relative Layout
Navigate to aactivity_main.xml and add below code to it.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/idTVHeading" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="Layouts in Android" android:textAlignment="center" android:textColor="#FF000000" android:textSize="20sp" android:textStyle="bold" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/idTVHeading" android:text="Relative Layout Example" android:textAlignment="center" android:textColor="#FF000000" /> </RelativeLayout>
Output for Relative Layout
Linear Layout
A linear layout is a type of layout in which we can arrange the widgets or views displayed within this view either horizontally in a single row or vertically in a single column. For specifying the orientation of the linear layout whether we have to display it horizontally or vertically we can set it using the orientation parameter within our Linear layout.
Example for Linear Layout
Navigate to aactivity_main.xml and add below code to it.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Layouts in Android" android:textAlignment="center" android:textColor="#FF000000" android:textSize="20sp" android:textStyle="bold" /> <TextView android:id="@+id/idTVSubHeading" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Vertical Linear Layout in Android" android:textAlignment="center" android:textColor="#FF000000" /> </LinearLayout>
Output for Linear Layout
Frame Layout
Frame Layout is a type of layout which is designed to block the specific area of the screen to display a single item. In most of the cases Frame Layout is used to hold a single child view. We can use multiple views within the frame layout and we can control their position within it by assigning the gravity to each widget which is being displayed within our Frame Layout.
Example for Frame Layout
Navigate to aactivity_main.xml and add below code to it.
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" tools:context=".MainActivity"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Layouts in Android" android:textAlignment="center" android:textColor="#FF000000" android:textSize="20sp" android:textStyle="bold" /> <TextView android:id="@+id/idTVSubHeading" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:text="Frame Layout in Android" android:textAlignment="center" android:textColor="#FF000000" /> </FrameLayout>
Output for Frame Layout
Table Layout
Table Layout the name itself suggests that this layout is used to align the widgets within it in tabular format. This view group consists of table rows each of them defines the row which may contain any number of cells. Similarly the table layout also consists of table columns each of them defines the columns which may contain any number of columns. The column width with the table layout is defined by the widest cell in that column.
Example for Table Layout
Navigate to aactivity_main.xml and add below code to it.
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" tools:context=".MainActivity"> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:text="Layouts in Android" android:textAlignment="center" android:textColor="#FF000000" android:textSize="20sp" android:textStyle="bold" /> </TableRow> <TableRow android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center"> <TextView android:id="@+id/idTVSubHeading" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Table Layout in Android" android:textAlignment="center" android:textColor="#FF000000" /> </TableRow> </TableLayout>
Output for Table Layout
Conclusion
In the above tutorial we learn What is UI layout in Android and what are the different types of Android UI Layouts present within android application which we can use.
- Related Articles
- How to create custom notification layouts and text colors in Android?
- How to update ui from Intent Service in android?
- HTML Layouts
- How to update continues ui from Intent Service in Android?
- How do I specify different layouts for portrait and landscape orientations in Android?
- Form Layouts in Bootstrap
- CSS3 Flexible Box Layouts
- Creating Layouts with Box-Sizing using CSS3
- What are the layouts of Shelving Buffers?
- Top Bootstrap UI Tools
- Changing Layouts Based on Screen Size using CSS
- What are the layouts of the rename buffers?
- Difference between UI and UX
- Creating Variable in UI Path
- How to Fix Overflow Issues in CSS Flex Layouts?
