具有可滚动内容但不具有标题的表

时间:2013-05-24 01:04:41

标签: android

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

有什么方法我可以让它对齐或者可能有一个表第一行不可滚动但其余的是?

1 个答案:

答案 0 :(得分:0)

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

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

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