0

我想要一个表格,后面有标题和内容。但是我希望用户能够在标题保持可见的同时滚动表格内容。我这样做的方法是有 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 

有没有办法让它对齐,或者可能有一个表,第一行不可滚动,但其余的是?

4

1 回答 1

0

一种方法是用 s 替换您的TableLayout/TableRow结构LinearLayout。您的标题将是一个水平的LinearLayout;您的身体将ScrollView围绕行垂直LinearLayout保持水平LinearLayouts。然后,您可以使用诸如android:layout_weight为每个“列”分配一定量的空间,您可以在标题和行之间保持一致。你失去的是动态列大小。

另一种方法是推出您自己的一组容器类来实现您想要的模式,尽管这可能会变得复杂。

另一种方法是保留现有的滚动表,但将标题替换为水平LinearLayout,并根据正文列的适当宽度在 Java 代码中设置标题的“列”的大小由TableLayout. _

于 2013-05-24T01:08:31.193 回答