Sitemap

Building Android User Interfaces with XML Layouts, Styling, and RecyclerView

3 min readMar 16, 2026

--

Introduction to XML Layouts in Android

In Android development, the User Interface (UI) of an application is usually designed using XML layouts. XML (Extensible Markup Language) is used to define the structure and appearance of UI components such as TextView, Button, ImageView, and EditText.

XML layouts help developers separate the UI design from application logic, making the code easier to manage and maintain. Instead of designing UI directly in Java/Kotlin code, developers define the layout structure in XML files and connect it with application logic.

Using XML layouts allows developers to create responsive, organized, and reusable UI designs for Android applications.

Types of Layouts in Android

Linear Layout :- is one of the simplest layouts in Android. It arranges UI elements in a single direction, either vertically or horizontally. The direction is defined using the orientation attribute.

A LinearLayout arranges elements in a single row or column. The direction is controlled using the orientation attribute.

There are two types of orientation:

Press enter or click to view image in full size

Horizontal

Features

  • Simple and easy to implement
  • Supports vertical and horizontal orientation
  • Suitable for simple UI designs

Advantages

  • Easy layout arrangement
  • Good for forms and simple screens

·

XML Example

· <LinearLayout
android:orientation=”vertical”
android:layout_width=”match_parent”
android:layout_height=”match_parent”>

<TextView
android:text=”Hello User”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”/>

<Button
android:text=”Login”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”/>

</LinearLayout>

RelativeLayout

A RelativeLayout allows UI elements to be positioned relative to other elements or to the parent container.

For example, a button can be placed:

  • Below another view
  • To the right of another view
  • Aligned with the parent layout

Features

  • Flexible positioning
  • Reduces nested layouts
  • Allows alignment relative to parent or sibling views

Advantages

  • More control over positioning
  • Efficient for medium-complex UI designs

\

Example XML Code

<RelativeLayout
xmlns:android=”http://schemas.android.com/

apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”>

<TextView
android:id=”@+id/title”
android:text=”Login”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”/>

<Button
android:text=”Submit”
android:layout_below=”@id/title”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”/>

</RelativeLayout>

3. ConstraintLayout:

ConstraintLayout is the most flexible and modern layout used in Android development. It allows developers to create complex UI designs using constraints between UI elements.

Instead of nesting multiple layouts, developers can control the position of elements using top, bottom, left, and right constraints.

Features

  • Flexible UI design
  • Reduces nested layouts
  • Improves app performance

Advantages

  • Efficient for complex layouts
  • Recommended by Android developers

Example XML Code:

<androidx.constraintlayout.widget.ConstraintLayout

Get Abhijit Kale’s stories in your inbox

Join Medium for free to get updates from this writer.

xmlns:android=”http://schemas.android.com/apk/res/android"

xmlns:app=”http://schemas.android.com/apk/res-auto"

android:layout_width=”match_parent”

android:layout_height=”match_parent”>

<TextView

android:id=”@+id/text”

android:text=”Hello Android”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

app:layout_constraintTop_toTopOf=”parent”

app:layout_constraintStart_toStartOf=”parent”/>

</androidx.constraintlayout.widget.ConstraintLayout>

Adapter and RecyclerView

Adapter

An Adapter acts as a bridge between the data source and UI component. It converts application data into view items that can be displayed on the screen.

RecyclerView

RecyclerView is used to display large sets of data efficiently, such as lists of messages, contacts, or products.

Why RecyclerView is Efficient

  • Reuses views instead of creating new ones
  • Improves performance
  • Supports animations and flexible layouts

Basic Example

Java:

RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));

RecyclerView works with:

  • Adapter
  • ViewHolder
  • LayoutManager

Drawable Shapes in Android

Drawable resources allow developers to create graphical shapes using XML instead of image files.

These shapes can be used for:

  • Button backgrounds
  • Card backgrounds
  • Borders and UI decorations

Example Drawable Shape:

<shape xmlns:android=”http://schemas.android.com/apk/res/android">

<solid android:color=”#6200EE”/>

<corners android:radius=”10dp”/>

<stroke

android:width=”2dp”

android:color=”#000000"/>

</shape>

Benefits:

  • Reduces the need for image resources
  • Improves performance
  • Easy customization

Conclusion:

· XML layouts are a fundamental part of Android UI development. They allow developers to design structured and visually appealing user interfaces efficiently.

· Layouts such as LinearLayout, RelativeLayout, and ConstraintLayout provide different ways to organize UI components depending on the complexity of the design. In addition, concepts like styles, themes, RecyclerView, adapters, and drawable resources help improve both the appearance and functionality of Android applications.

· Understanding how to use XML layouts effectively helps developers build responsive, scalable, and professional Android applications.

--

--