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 

どういうわけかそれを整列させる方法はありますか、または最初の行がスクロールできないテーブルを1つ持つことができますが、残りはスクロールできますか?

4

1 に答える 1

0

TableLayout1 つのアプローチは、 /TableRow構造をLinearLayoutsに置き換えることです。ヘッダーは単一の水平になりLinearLayoutます。あなたの体は、行に対して水平を保持ScrollViewする垂直の周りになります。次に、各「列」に一定量のスペースを割り当てるなどの方法を使用して、ヘッダーと行の間で一貫性を保つことができます。失われるのは、動的な列のサイズ変更です。LinearLayoutLinearLayoutsandroid:layout_weight

もう 1 つの方法は、必要なパターンを実装する独自のコンテナー クラスのセットを展開することですが、これは複雑になる可能性があります。

さらに別のアプローチは、既存のスクロール テーブルを維持し、ヘッダーを Horizo​​ntal に置き換え、LinearLayoutJava コードでヘッダーの「列」のサイズを設定することです。TableLayout。_

于 2013-05-24T01:08:31.193 に答える