2 znl 12 znl_12 于 2013.05.24 15:06 提问

表格中有滚动的内容但是没有标题

我想创建一个表格,有标题和内容,实现标题始终可见,但是内容可以滚动。
如何实现?

<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 

有什么方法可以对齐?或者实现第一行不动,别的行滚动?

3个回答

CSDN_Ask
CSDN_Ask   2013.05.27 10:38
已采纳

一种方法是使用 LinearLayouts 来代替 TableLayout/TableRow 结构。标题应该是一个横向的LinearLayout;主体部分应该是一个 ScrollView,围绕着一个垂直的 LinearLayout 和行的横向的LinearLayouts。然后,你可以使用 android:layout_weight 给每一列分配空间,在标题和行之间保持一致性。
另一种方法是滚动自己设置的容器类,实现你期望的模式。这样好像变的复杂了。这种方法能保持你现有的滚动表,但是用一个横向的 LinearLayout 代替标题,根据 TableLayout设置的文本中列的宽度,再用代码设置标题中 "columns"的尺寸。

u010923762
u010923762   2013.06.02 09:29

方法一:不知道你的这个表格是windowsXP系统吗?把表格复制到word内,排好段落再复制回来。
方法二:式具榄有个窗口,窗口冻结就行啦。

luhuajcdd
luhuajcdd   2013.05.27 09:46

可以在code中动态计算没一列的宽度,这样应该是可以对其的

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!