【问题标题】:Tablelayout weighted button in relativelayout相对布局中的表格布局加权按钮
【发布时间】:2019-05-23 02:17:38
【问题描述】:

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

如果我将其设置为 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>

【问题讨论】:

  • 试试我发布的这个解决方案,它对我有用。

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


【解决方案1】:

试试这个:

<?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>

这将解决您的问题。

谢谢。

【讨论】:

  • 天才感谢您!我也没有想过要尝试将第二行放在布局中。
猜你喜欢
  • 2013-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-01
  • 2012-12-10
  • 1970-01-01
相关资源
最近更新 更多