我有一个带有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>
答案 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>
这将解决您的问题。
感谢。