Android TableRow RelativeLayout问题

时间:2010-01-19 16:46:34

标签: android tablelayout tablerow relativelayout

我有以下

<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/admin_row"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:gravity="center_horizontal">
    <RelativeLayout android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:orientation="horizontal"
                    android:background="@color/silver">

我动态填充表格,但相对布局为彩色银色,它只跨越表格行的3/4左右。如果我将LinearLayout设置为水平方向,它会完全跨越,但如果我将其更改为垂直,则会出现同样的问题。我需要在表格行中使用相对布局,因为我需要这样的东西:


详细更多细节。

关于让相对布局跨越表格行的任何想法?

3 个答案:

答案 0 :(得分:12)

尝试在TableLayout标记上设置android:stretchColumns =“0”或者android:stretchColumns =“*”。

答案 1 :(得分:6)

所以我暂时离开了这个问题,但它再次出现了。重申一下,我看到的问题是,无论我设置它的宽度和高度,表格行中的相对布局都不会跨越整行。我找到了一个解决方案,强制任何布局完全(水平)跨越表格行:

<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/detail_row"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content">
    <RelativeLayout android:layout_height="fill_parent"
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:orientation="horizontal">

注意这似乎与表行java docs状态直接矛盾:

  

TableRow的孩子不需要   指定layout_width和   XML中的layout_height属性   文件。 TableRow总是强制执行   值分别为FILL_PARENT   和WRAP_CONTENT。

答案 2 :(得分:1)

您应该将android:background="@color/silver"属性放在TableRow上。

我在ScrollView中遇到了与LinearLayout相同的问题。

希望它有所帮助,

皮棉