我希望有一个包含标题和内容的表格。但是我希望用户能够在标题保持可见时滚动表格内容。我这样做的方法是通过2个表格如下:
<TableLayout
android:id="@+id/tlNames"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="*"
android:shrinkColumns="*" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="dummy"
android:textSize="15sp"
android:textColor="#FF0000"
android:visibility="invisible" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:gravity="center"
android:text="Player1"
android:textColor="#FF0000"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Player2"
android:textColor="#FF0000"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Player3"
android:textColor="#FF0000"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="player4"
android:textColor="#FF0000"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="dummy"
android:textSize="15sp"
android:textColor="#FF0000"
android:visibility="invisible" />"
</TableRow>
<View android:layout_height="5dp"/>
</TableLayout>
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableLayout
android:id="@+id/tlScore"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="*"
android:shrinkColumns="*" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="20"
android:textColor="@android:color/black"
android:textSize="10sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="20"
android:textColor="@android:color/black"
android:textSize="10sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="20"
android:textColor="@android:color/black"
android:textSize="10sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="20"
android:textColor="@android:color/black"
android:textSize="10sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="20"
android:textColor="@android:color/black"
android:textSize="10sp" />
</TableRow>
</tableLayout>
</ScrollView>
标题未与内容对齐的问题,因此它最终会像
一样 dummy Player1 player2 player3 player4 dummy
20 20 20 20 20 20
有什么方法我可以让它对齐或者可能有一个表第一行不可滚动但其余的是?
答案 0 :(得分:0)
一种方法是用TableLayout
替换您的TableRow
/ LinearLayout
结构。您的标题将是单个水平LinearLayout
;对于行,您的身体将围绕垂直ScrollView
保持水平LinearLayout
LinearLayouts
。然后,您可以使用android:layout_weight
之类的内容为每个“列”分配一定的空间,您可以在标题和行之间保持一致。您失去的是动态列大小。
另一种方法是滚动你自己的一组容器类来实现你想要的模式,尽管这可能会变得复杂。
另一种方法是保留现有的滚动表,但用水平LinearLayout
替换标题,并根据适当的宽度设置Java代码中标题的“列”的大小。由TableLayout
确定的正文列。