I'm using tableLayout (android) to create tables with 5 columns I need to span column inside table , but can't using layout-span correctly to become table like this :
|column 1 | column 2 | column 3 | column 4 | column 5 |
|column 11 | column 22 | column 33 |
my code :
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="column 1"
android:id="@+id/q5"
android:layout_column="0"
android:textSize="12sp"
android:layout_gravity="center"
android:layout_weight="1"
android:textAlignment="center"
android:background="@drawable/s" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="column 2"
android:id="@+id/q4"
android:textSize="12sp"
android:layout_gravity="center"
android:layout_weight="1"
android:textAlignment="center"
android:background="@drawable/s" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="column 3"
android:id="@+id/q3"
android:textSize="12sp"
android:layout_columnWeight="1"
android:layout_gravity="center"
android:layout_weight="1"
android:textAlignment="center"
android:background="@drawable/s" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="column 4"
android:id="@+id/q2"
android:textSize="12sp"
android:layout_gravity="center"
android:layout_weight="1"
android:textAlignment="center"
android:background="@drawable/s" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="column 5"
android:id="@+id/q1"
android:textSize="12sp"
android:layout_weight="1"
android:layout_gravity="center"
android:textAlignment="center"
android:background="@drawable/s" />
</TableRow>
<TableRow>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="column 11"
android:id="@+id/textView10"
android:textSize="16sp"
android:layout_gravity="center"
android:layout_weight="1"
android:textAlignment="center"
android:background="@drawable/s" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="column 22"
android:layout_span="3"
android:id="@+id/textView12"
android:textSize="16sp"
android:layout_gravity="center"
android:textAlignment="center"
android:layout_weight="1"
android:background="@drawable/s" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="column 33"
android:id="@+id/textView11"
android:textSize="16sp"
android:layout_gravity="center"
android:layout_weight="1"
android:textAlignment="center"
android:background="@drawable/s" />
</TableRow>
a problem is : column 11 and column 33 is change width so a layout design is bad .. please help me what can I do ?
Try this.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.sanjaysah.tablelayout.MainActivity">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/row_background"
android:padding="5dp"
android:text="column 1"
android:textColor="@android:color/white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/row_background"
android:padding="5dp"
android:text="column 2"
android:textColor="@android:color/white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/row_background"
android:padding="5dp"
android:text="column 3"
android:textColor="@android:color/white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/row_background"
android:padding="5dp"
android:text="column 4"
android:textColor="@android:color/white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/row_background"
android:padding="5dp"
android:text="column 5"
android:textColor="@android:color/white" />
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/row_background"
android:padding="5dp"
android:text="column 11"
android:textColor="@android:color/white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_span="3"
android:background="@drawable/row_background"
android:gravity="center"
android:padding="5dp"
android:text="column 22"
android:textColor="@android:color/white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/row_background"
android:padding="5dp"
android:text="column 33"
android:textColor="@android:color/white" />
</TableRow>
</TableLayout>
This will render a tablelayout that you are looking for.