Create a Table Layout in Android

Introduction

In this article I explain table layout. Actually table layout is nothing but a view like a grid view. In Android table layout works the same as a HTML table layout. A Table layout divides data into rows and columns, but we define only a row for the table and the column will be automatically created depending on the required fields in the row. You will see the table layout in the output image.

Now use the following procedure to learn how to create a table layout and how to use it.

Step 1

Create a new Android project as "File" -> "New" -> "Android  Application Project" as shown in the following image"

newTableLayout.jpg

Step 2

Now open the XML file "res/layout/activity_main.xml" and update it using the following code:

<TableLayout

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

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:shrinkColumns="*"  android:stretchColumns="*" android:background="#ffffff">

    <!-- Row 1 with single column -->

    <TableRow

        android:layout_height="wrap_content"

        android:layout_width="fill_parent"

        android:gravity="center_horizontal">

        <TextView

            android:layout_width="match_parent" android:layout_height="wrap_content"

            android:textSize="18dp" android:text="Table number 21"  android:layout_span="3"

            android:padding="18dip" android:background="#b0b0b0"

            android:textColor="#000"/>

    </TableRow> 

     <!-- Row 2 with 3 columns -->

    <TableRow

        android:id="@+id/tableRow1"

        android:layout_height="wrap_content"

        android:layout_width="match_parent"

        android:baselineAligned="true" android:background="#8adec7">

        <TextView

            android:id="@+id/TextView04" android:text="UserId"

            android:layout_weight="1"

            android:textColor="#000000"

            android:padding="20dip" android:gravity="center"/>

        <TextView

            android:id="@+id/TextView04" android:text="UserName"

            android:layout_weight="1"

            android:textColor="#000000"

            android:padding="20dip" android:gravity="center"/>

        <TextView

            android:id="@+id/TextView04" android:text="Mobile no"

            android:layout_weight="1"

            android:textColor="#000000"

            android:padding="20dip" android:gravity="center"/>

    </TableRow>

    <!-- Row 3 with 2 columns -->

    <TableRow

        android:layout_height="wrap_content"

        android:layout_width="fill_parent"

        android:gravity="center_horizontal">

        <TextView

            android:id="@+id/TextView04" android:text="1"

            android:layout_weight="1"

            android:textColor="#000000"

            android:padding="20dip" android:gravity="center"/>

        <TextView

            android:id="@+id/TextView04" android:text="sajid khan"

            android:layout_weight="1"

            android:textColor="#000000"

            android:padding="20dip" android:gravity="center"/>

         <TextView

            android:id="@+id/TextView05" android:text="87118882138"

            android:layout_weight="1"

            android:textColor="#000000"

            android:padding="20dip" android:gravity="center"/>

    </TableRow> 

     <TableRow

        android:layout_height="wrap_content"

        android:layout_width="fill_parent"

        android:gravity="center_horizontal">

        <TextView

            android:id="@+id/TextView04" android:text="2"

            android:layout_weight="1"

            android:textColor="#000000"

            android:padding="20dip" android:gravity="center"/>

         <TextView

            android:id="@+id/TextView04" android:text="majid khan"

            android:layout_weight="1"

            android:textColor="#000000"

            android:padding="20dip" android:gravity="center"/>

         <TextView

            android:id="@+id/TextView05" android:text="87139487"

            android:layout_weight="1"

            android:textColor="#000000"

            android:padding="20dip" android:gravity="center"/>

    </TableRow> 

    <ListView

        android:id="@+id/list_view"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content" />

</TableLayout>

Step 3

Open the Java file "MainActivity.java" and update it with the following code:

package com.example.tablelayout;

import java.util.ArrayList;

import java.util.HashMap;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.widget.ArrayAdapter;

import android.widget.ListView;

public class MainActivity extends Activity {

      private ListView lv;

       ArrayAdapter<String> adapter;

       ArrayList<HashMap<String, String>> productList;

      @Override

      protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

      }

      @Override

      public boolean onCreateOptionsMenu(Menu menu) {

            // Inflate the menu; this adds items to the action bar if it is present.

            getMenuInflater().inflate(R.menu.main, menu);

            return true;

      }

}

 

Step 4

Open the "strings.xml" file and update it with your string resources, whatever you want to add with strings.

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

<resources>

    <string name="app_name">TableLayout</string>

    <string name="action_settings">Settings</string>

    <string name="hello_world">Hello world!</string>

</resources>

Step 5

Table Layout:

tableLayout.jpg

Up Next
    Ebook Download
    View all
    Learn
    View all