Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Table Layout with equal rows height

Tags:

android

I have created a TableLayout where I want each row to have the same height, regardless of it's content. How can I do this?

Here is my code. Each row element get the same width, but the heights are not equal. What am I doing wrong?

 <TableLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"                    android:background="@color/grey"
                android:padding="1dip" >

                <TableRow
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:background="@color/grey" >

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:layout_marginTop="2dip"
                            android:layout_weight="1"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_make"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carMake"
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent"
                            android:layout_gravity="center_vertical"
                            android:layout_marginLeft="1dip"
                            android:layout_weight="1"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_detail" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:layout_marginTop="2dip"
                            android:layout_weight="1"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_model"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carModel"
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent"
                            android:layout_gravity="center_vertical"
                            android:layout_weight="1"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_detail" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:layout_marginTop="2dip"
                            android:layout_weight="1"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_version"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carYear"
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent"
                            android:layout_gravity="center_vertical"
                            android:layout_weight="1"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_year" />
                    </LinearLayout>
                </TableRow>

                <TableRow
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_marginTop="1dip"
                    android:layout_weight="1"
                    android:background="@color/grey" >

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:layout_marginTop="2dip"
                            android:background="@color/white"
                                android:gravity="center_horizontal"
                            android:text="@string/car_year"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carYear"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_year" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:layout_marginTop="2dip"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_mileage"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carYear"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_year" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:layout_marginTop="2dip"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_engine_capacity"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carYear"
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent"
                            android:layout_gravity="center_vertical"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_year" />
                    </LinearLayout>
                </TableRow>

                <TableRow
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_marginTop="1dip"
                    android:layout_weight="1"
                    android:background="@color/grey" >

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_engine_type"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carYear"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_year" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_exterior_color"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carYear"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_year" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_city"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carYear"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_year" />
                    </LinearLayout>
                </TableRow>

                <TableRow
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_marginTop="1dip"
                    android:layout_weight="1"
                    android:background="@color/grey" >

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_transmittion"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carYear"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_year" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_area"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carYear"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_year" />
                    </LinearLayout>

                        <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >

                        <TextView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:layout_marginBottom="5dip"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_registered_city"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/carYear"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:background="@color/white"
                            android:gravity="center_horizontal"
                            android:text="@string/car_year" />
                    </LinearLayout>
                </TableRow>
            </TableLayout>
like image 901
AndroidDev Avatar asked Dec 06 '12 07:12

AndroidDev


2 Answers

Introduced in API 11, you can set android:measureWithLargestChild="true" on the TableLayout and android:layout_weight="1" on each TableRow.

like image 137
Learn OpenGL ES Avatar answered Sep 24 '22 06:09

Learn OpenGL ES


here is your solution :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:weightSum="4" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="#B0B0B0" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="1dp"
            android:orientation="vertical"
            android:weightSum="4" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="#B0B0B0" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="1dp"
            android:orientation="vertical"
            android:weightSum="4" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="#B0B0B0" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="1dp"
            android:orientation="vertical"
            android:weightSum="4" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="#B0B0B0" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="1dp"
            android:orientation="vertical"
            android:weightSum="4" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="#B0B0B0" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="1dp"
            android:orientation="vertical"
            android:weightSum="4" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="1dp"
                android:layout_weight="1"
                android:background="#B0B0B0" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="#B0B0B0" />
        </TableRow>
    </TableLayout>

</LinearLayout>

enter image description here

like image 44
Nipun Gogia Avatar answered Sep 26 '22 06:09

Nipun Gogia