我创建了一个表格布局,其中标题是固定的,但其余列是可滚动的。
我是这样开始的:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#255"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TableLayout
android:id="@+id/table_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="1dp"
android:layout_marginLeft="1dp"
android:stretchColumns="*"
android:background="@android:color/black" >
<TableRow
android:id="@+id/table_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/black" >
<!-- android:layout_weight="1" -->
<TextView
android:textColor="@android:color/black"
android:layout_margin="1dp"
android:layout_weight="0"
android:gravity="center_horizontal"
android:background="#FFCCCCCC"
android:text="Program" />
<TextView
android:textColor="@android:color/black"
android:layout_margin="1dp"
android:layout_weight="0"
android:gravity="center_horizontal"
android:background="#FFCCCCCC"
android:text="Course #" />
<TextView
android:textColor="@android:color/black"
android:layout_margin="1dp"
android:layout_weight="0"
android:gravity="center_horizontal"
android:background="#FFCCCCCC"
android:text="Book-Name" />
</TableRow>
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:scrollbars="horizontal|vertical" >
<TableLayout
android:id="@+id/table_scrollable_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="1dp"
android:layout_marginLeft="1dp"
android:stretchColumns="*"
android:background="@android:color/black" >
<TextView
android:textColor="@android:color/black"
android:layout_margin="0dp"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0"
android:gravity="center_horizontal"
android:background="#FFCCCCCC" />
</TableLayout>
</ScrollView>
</TableLayout>
</RelativeLayout>
然后我以编程方式添加行,并使用以下方式编写列:
TableRow row = new TableRow(this);
row.setId(++row_id);
TableRow.LayoutParams params = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT);
params.setMargins(1, 1, 1, 1);
row.setLayoutParams(params);
TextView column = new TextView(this);
column.setText(matcher.group(1));
column.setBackgroundColor(0xFFCCCCCC);
column.setGravity(Gravity.CENTER);
column.setLayoutParams(params);
row.addView(column);
.
.
.
layout.addView(row, new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT));
然而,在添加这些项目之后,它开始变形我的表格,它现在看起来像:
如何使标题和其他列对齐?如果我删除了我的可滚动布局,它最终会正确显示:
但它不再可滚动了。任何想法如何使它看起来像上面但保持可滚动?