Table Layout with equal rows height

后端 未结 6 987
粉色の甜心
粉色の甜心 2021-01-07 20:32

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 ro

相关标签:
6条回答
  • 2021-01-07 21:15

    Below Answer Deprecated Now :

    You can Change in your TableRow -> LinearLayout

    <LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="wrap_content"    
                        android:layout_weight="1"
                        android:background="@color/white"
                        android:orientation="vertical" >
    
    0 讨论(0)
  • 2021-01-07 21:23

    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

    0 讨论(0)
  • 2021-01-07 21:24

    I just came across this issue and solved it. It turns out Sunny's answer worked for me.

    Though as mentioned in the comment, I could figure out if it works by just reading it. I am a newbee so cannot neither leave comment nor vote it to useful. Therefore I am posting it here.

    The idea is that you let TableRow to decide the height of the row. By setting layout_height to wrap_content, the height of the row is depends on the contents which is TextView.

    Since the border line of the cell would be the boundary of TextView, the layout_height should be match_parent.

    I wish it is helpful for Android newbee (yes i am new to android too).

    0 讨论(0)
  • 2021-01-07 21:28

    here is a solution:

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">
    
           <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_gravity="fill"
            />
           <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_gravity="fill"
            />
        </TableRow>
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">
    
           <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_gravity="fill"
            />
           <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_gravity="fill"
            />
        </TableRow>
    

    0 讨论(0)
  • 2021-01-07 21:30
    <TableRow
                    android:layout_width="fill_parent"
                    android:layout_height="xxdip"  // HERE define a fixed size
    
    0 讨论(0)
  • 2021-01-07 21:35

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

    0 讨论(0)
提交回复
热议问题