如何使一个可滚动的TableLayout?

请在这里查看XML代码:

<TableLayout android:id="@+id/tableLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dip" xmlns:android="http://schemas.android.com/apk/res/android"> <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content"> <!-- Some stuff goes here --> /> </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content"> <!-- Some stuff goes here --> /> </TableRow> <TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content"> <!-- Some stuff goes here --> /> </TableRow> </TableLayout> 

我的代码比这个长得多,但我只是消除了不必要的部分。 问题是我想让这个TableLayout滚动,以便我的东西都可以显示。

我试图把这行放在TableLayout为了使其滚动:

 android:isScrollContainer="true" 

但是这并不能完成这项工作。 有没有办法?

整个事情包括在:

 <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="none" android:layout_weight="1"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> ... </ScrollView> 

您在技术上不需要ScrollView中的LinearLayout:

 <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="none" android:layout_weight="1"> <TableLayout android:id="@+id/tableLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dip" android:isScrollContainer="true"> <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content"> <--!Everything Else You Already Have--> </TableRow> </TableLayout> </ScrollView> 

一旦你在ScrollView中占用了足够的空间,滚动效果就会被激活(有点像HTML TextArea,一旦你有足够的文本行,滚动就会激活)。

您也可以嵌套滚动视图,但是在滚动视图中有足够的内容之前,您再也无法感受到滚动效果。

感谢mbauer它解决了我的问题,我sorting

  1. TableLayout
  2. 带结束的TableRow(用于列标题)
  3. 滚动型
  4. 的LinearLayout
  5. x TableRow结束
  6. 结束LinearLayout
  7. 结束ScrollView
  8. 结束TableLayout