我知道有几篇关于此的帖子,但我无法解决这个问题。我想要一个带有标题的表,当滚动表格的内容时,该标题保持可见。我喜欢这种方法:http://www.entreotrascosas.net/creating-dynamic-scrollable-fixed-header-tables-in-android/
这是我的xml。我有两个TableLayout,一个用于标题,一个用于内容。我将每个行填充一行,layout_height
设置为0dp
。
<TableLayout
android:id="@+id/headerLayout"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/hiddenLongestRow"
android:layout_width="wrap_content"
android:layout_height="0dp" />
</TableLayout>
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/headerLayout"
android:fadeScrollbars="false" >
<TableLayout
android:id="@+id/contentLayout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
android:id="@+id/hiddenHeaderRow"
android:layout_width="wrap_content"
android:layout_height="0dp" />
</TableLayout>
</ScrollView>
然后我以编程方式使用我的值和我的xml中指定的行填充表,其中包含标题/最长行的虚拟值。现在,两个表的列具有相同的宽度。到目前为止,非常好。
但现在我需要两个虚拟行消失。据说将高度设置为0dp
会这样做,但对我来说却没有,行总是可见的。
我尝试以编程方式将LayoutParams的高度设置为0,但它没有帮助。将可见性设置为INVISIBLE或GONE不起作用。我还能做什么?
答案 0 :(得分:0)
您可以尝试删除它:
TableRow row = (TableRow)findViewById(R.id.hiddenHeaderRow);
table.removeView(row);