user2901219
user2901219

Reputation: 373

Table layout with uneven columns widths

In my android application, I am trying to create a table with 4 columns. The first column contains serial number. So it can be as small as possible in width. Columns 2,3,4 have data and hence should equally share the rest of width space available.

I have tried many combinations of width/height, stretchcolumns with no use. Can you please tell me how to do this?

This is my code: look at table_vipra:

@Manishika, I tried similar code, but didn't work. For instance look at table : table_vipra in code below. I'm not able to get table as I desired.

<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"
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=".MainActivity" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Spinner
            android:id="@+id/spinner2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <Spinner
            android:id="@+id/spinner3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Button" />
    </LinearLayout>

    <TableLayout
        android:id="@+id/table_vipra"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#d65906">

        <TextView
            android:id="@+id/textView_table_header"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_margin="2dip"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="@string/vipra_table_header" >

        </TextView>

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:background="#d65906" >

            <TextView
                android:id="@+id/textView1a"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="1" >
            </TextView>

            <TextView
                android:id="@+id/textView11"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:weight="1"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView12"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView13"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"
            android:background="#d65906" >
           <TextView
                android:id="@+id/textView2a"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="2" >
            </TextView>
            <TextView
                android:id="@+id/textView21"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:weight="1"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView22"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:weight="1"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView23"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:weight="1"
                android:text="TextView" >
            </TextView>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"
            android:background="#d65906" >
           <TextView
                android:id="@+id/textView3a"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="3" >
            </TextView>
            <TextView
                android:id="@+id/textView31"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:weight="1"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView32"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView33"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"
            android:background="#d65906" >
           <TextView
                android:id="@+id/textView4a"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="4" >
            </TextView>
            <TextView
                android:id="@+id/textView41"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:weight="1"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView42"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView43"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:weight="1"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"
            android:background="#d65906" >
           <TextView
                android:id="@+id/textView5a"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="5" >
            </TextView>
            <TextView
                android:id="@+id/textView51"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:weight="1"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView52"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView53"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow6"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"
            android:background="#d65906" >
           <TextView
                android:id="@+id/textView6a"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="6" >
            </TextView>
            <TextView
                android:id="@+id/textView61"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView62"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView63"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:weight="1"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow7"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"
            android:background="#d65906" >
           <TextView
                android:id="@+id/textView7a"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="7" >
            </TextView>
            <TextView
                android:id="@+id/textView71"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView72"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView73"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>
        </TableRow>            

        <TableRow
            android:id="@+id/tableRow8"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"
            android:background="#d65906" >
           <TextView
                android:id="@+id/textView8a"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="!" >
            </TextView>
            <TextView
                android:id="@+id/textView81"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView82"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:background="#fcc480"
                android:weight="1"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>

            <TextView
                android:id="@+id/textView83"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="2dip"
                android:weight="1"
                android:background="#fcc480"
                android:padding="2dip"
                android:text="TextView" >
            </TextView>
        </TableRow>            

    </TableLayout>
</LinearLayout>

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/linearLayout1"
    android:layout_below="@+id/linearLayout1"
    android:layout_marginTop="18dp"
    android:textSize="8px"
    android:ems="10" >

    <requestFocus />
</EditText>

Upvotes: 0

Views: 1728

Answers (1)

Manishika
Manishika

Reputation: 5564

Try using layout:weight with your Row Views

eg.

   <TableLayout
    android:id="@+id/table_vipra"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#d65906" >

    <TextView
        android:id="@+id/textView_table_header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="2dip"
        android:background="#fcc480"
        android:gravity="center"
        android:padding="2dip"
        android:text="@string/vipra_table_header" >
    </TextView>

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="2dip"
        android:background="#d65906" >

        <TextView
            android:id="@+id/textView1a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="1" >
        </TextView>

        <TextView
            android:id="@+id/textView11"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView12"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView13"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>
    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dip"
        android:background="#d65906" >

        <TextView
            android:id="@+id/textView2a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="2" >
        </TextView>

        <TextView
            android:id="@+id/textView21"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView22"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView23"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>
    </TableRow>

    <TableRow
        android:id="@+id/tableRow3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dip"
        android:background="#d65906" >

        <TextView
            android:id="@+id/textView3a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="3" >
        </TextView>

        <TextView
            android:id="@+id/textView31"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView32"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView33"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>
    </TableRow>

    <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dip"
        android:background="#d65906" >

        <TextView
            android:id="@+id/textView4a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="4" >
        </TextView>

        <TextView
            android:id="@+id/textView41"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView42"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView43"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>
    </TableRow>

    <TableRow
        android:id="@+id/tableRow5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dip"
        android:background="#d65906" >

        <TextView
            android:id="@+id/textView5a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="5" >
        </TextView>

        <TextView
            android:id="@+id/textView51"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView52"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView53"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>
    </TableRow>

    <TableRow
        android:id="@+id/tableRow6"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dip"
        android:background="#d65906" >

        <TextView
            android:id="@+id/textView6a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="6" >
        </TextView>

        <TextView
            android:id="@+id/textView61"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView62"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView63"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>
    </TableRow>

    <TableRow
        android:id="@+id/tableRow7"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dip"
        android:background="#d65906" >

        <TextView
            android:id="@+id/textView7a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="7" >
        </TextView>

        <TextView
            android:id="@+id/textView71"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView72"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView73"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>
    </TableRow>

    <TableRow
        android:id="@+id/tableRow8"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dip"
        android:background="#d65906" >

        <TextView
            android:id="@+id/textView8a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="!" >
        </TextView>

        <TextView
            android:id="@+id/textView81"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView82"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>

        <TextView
            android:id="@+id/textView83"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="2dip"
            android:layout_weight="1"
            android:background="#fcc480"
            android:padding="2dip"
            android:text="TextView" >
        </TextView>
    </TableRow>

</TableLayout>

What i got with the above data

enter image description here

Upvotes: 1

Related Questions