relativelayout中的Tablelayout加权按钮

时间:2013-01-08 05:16:24

标签: android xml android-layout android-layout-weight

我有一个带有4个按钮网格权重的tablelayout。问题是我有一个按钮,它在tablerow中的相对布局中,格式不正确。如果我将高度设置为包装内容,结果是:

如果我将它设置为fill_parent:

我无法让按钮正确填充其高度重量。如果我取出相对布局,它可以正常工作。我已经尝试将两者放在单独的线性布局中无济于事。

这是我的代码:

 <TableLayout
            android:id="@+id/tableLayout"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_below="@+id/linearLayout"
            android:layout_margin="10dp"
            android:weightSum="2" >

            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:minHeight="100dp" >

                <Button
                    android:id="@+id/searchBtn"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight=".5"
                    android:background="@drawable/yellow_btn"
                    android:minHeight="100dp"
                    android:text="Search"
                    android:textColor="#1d357d"
                    android:textSize="20dp"
                    android:textStyle="bold" />

                <RelativeLayout
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight=".5"
                    android:minHeight="100dp" >

                    <Button
                        android:id="@+id/savedBtn"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:background="@drawable/yellowds"
                        android:minHeight="100dp"
                        android:text="Saved Searches"
                        android:textColor="#1d357d"
                        android:textSize="20dp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/newItemsOverlay"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignLeft="@+id/savedBtn"
                        android:layout_alignTop="@+id/savedBtn"
                        android:background="@drawable/badge_circle"
                        android:text="10"
                        android:textColor="#FFF"
                        android:textSize="16sp"
                        android:textStyle="bold" />
                </RelativeLayout>
            </TableRow>

            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginTop="30dip"
                android:layout_weight="1"
                android:minHeight="100dp" >

                <Button
                    android:id="@+id/checkNowBtn"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight=".5"
                    android:background="@drawable/yellowds"
                    android:minHeight="100dp"
                    android:text="Check Now"
                    android:textColor="#1d357d"
                    android:textSize="20dp"
                    android:textStyle="bold" />

                <Button
                    android:id="@+id/settingsBtn"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight=".5"
                    android:background="@drawable/yellowds"
                    android:minHeight="100dp"
                    android:text="Settings"
                    android:textColor="#1d357d"
                    android:textSize="20dp"
                    android:textStyle="bold" />
            </TableRow>
        </TableLayout>

1 个答案:

答案 0 :(得分:3)

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
    </LinearLayout>

    <TableLayout
        android:id="@+id/tableLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/linearLayout"
        android:layout_margin="10dp"
        android:weightSum="2" >

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:minHeight="100dp" >

            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".5" >

                <Button
                    android:id="@+id/searchBtn"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:background="#cccccc"
                    android:minHeight="100dp"
                    android:text="Search"
                    android:textColor="#1d357d"
                    android:textSize="20dp"
                    android:textStyle="bold" />
            </RelativeLayout>

            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".5" >

                <Button
                    android:id="@+id/savedBtn"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:background="#cccccc"
                    android:minHeight="100dp"
                    android:text="Saved Searches"
                    android:textColor="#1d357d"
                    android:textSize="20dp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/newItemsOverlay"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/savedBtn"
                    android:layout_alignTop="@+id/savedBtn"
                    android:background="#ff0000"
                    android:text="10"
                    android:textColor="#FFF"
                    android:textSize="16sp"
                    android:textStyle="bold" />
            </RelativeLayout>
        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginTop="30dip"
            android:layout_weight="1"
            android:minHeight="100dp" >

            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".5" >

                <Button
                    android:id="@+id/checkNowBtn"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:background="#cccccc"
                    android:minHeight="100dp"
                    android:text="Check Now"
                    android:textColor="#1d357d"
                    android:textSize="20dp"
                    android:textStyle="bold" />
            </RelativeLayout>

            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight=".5" >

                <Button
                    android:id="@+id/settingsBtn"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:background="#cccccc"
                    android:minHeight="100dp"
                    android:text="Settings"
                    android:textColor="#1d357d"
                    android:textSize="20dp"
                    android:textStyle="bold" />
            </RelativeLayout>
        </TableRow>
    </TableLayout>

</RelativeLayout>

这将解决您的问题。

感谢。