0

動的行を追加する必要があるアプリに取り組んでいます。次の問題に直面しています。

  1. 3 つの列があり、それぞれの幅を同じにする必要があります。テキストの長さに基づいて表の列が伸び、アプリが乱雑になります。

  2. ScrollView を追加しましたが、正しく動作しません。余分な行を約 5 行追加すると、最初の列だけが表示されます。

レイアウトは2部構成。テーブルレイアウトは第 2 部で提供されます。これが私の XML レイアウトです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mabs"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible" >

<ImageButton
    android:id="@+id/shw"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_marginBottom="24dp"
    android:background="@null"
    android:src="@drawable/shw" />

<ImageView
    android:id="@+id/lbl"
    android:layout_width="match_parent"
    android:layout_height="75dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:src="@drawable/moolbl" />

<EditText
    android:id="@+id/tf"
    android:layout_width="192dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/lbl"
    android:layout_marginTop="15dp"
    android:ems="10"/>
<ImageButton
    android:id="@+id/moob"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/lbl"
    android:background="@null"
    android:src="@drawable/moo" />



<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/shw"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/moob">
    <TableLayout
        android:id="@+id/tbl"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tf"
        android:layout_marginTop="51dp"
        android:scrollbars="vertical" >

        <TableRow
            android:id="@+id/tblr"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal" >

            <TextView
                android:id="@+id/word"
                android:layout_weight="1"
                android:text="  GUESS"
                android:textStyle="bold"
                android:typeface="sans" />

            <TextView
                android:id="@+id/bull"
                android:layout_weight="1"
                android:text="  WORD"
                android:textStyle="bold"
                android:typeface="sans" />

            <TextView
                android:id="@+id/cow"
                android:layout_weight="1"
                android:text="  MEAN"
                android:textStyle="bold"
                android:typeface="sans" />
        </TableRow>
    </TableLayout>
</ScrollView>

コード部分(動的行の追加)

TableRow tr = new TableRow(this);
LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT,
    LayoutParams.WRAP_CONTENT);
lp.weight = 1; 
lp.gravity = Gravity.CENTER_HORIZONTAL;
tr.setLayoutParams(lp);
TextView tvLeft = new TextView(this);
tvLeft.setLayoutParams(lp);
tvLeft.setText(tft);
TextView tvCenter = new TextView(this);
tvCenter.setLayoutParams(lp);
tvCenter.setText(word + "");
TextView tvRight = new TextView(this);
tvRight.setLayoutParams(lp);
tvRight.setText(mean + "");
tr.addView(tvLeft);
tr.addView(tvCenter);
tr.addView(tvRight);

tbl.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,
    LayoutParams.WRAP_CONTENT));
4

1 に答える 1

0

カスタムListViewを使用し、テーブル レイアウトをカスタム ListItem として使用します

于 2013-02-22T11:33:55.053 に答える