1

テーブルレイアウトにいくつかのテキスト編集があります。値が小さい場合、TextEditsは画面の端まで伸びます。ただし、値が大きいと、TextEditsが画面の端を超えて拡張されます。テキストエディットの幅を常に画面の端まで保つにはどうすればよいですか?

    <TableLayout android:layout_height="wrap_content" android:layout_width="wrap_content" android:stretchColumns="1">
        <TableRow android:baselineAligned="true" android:layout_height="wrap_content" android:gravity="center_vertical" android:layout_width="wrap_content">
            <TextView android:id="@+id/textView4" android:layout_height="wrap_content" android:text="Perm:" style="@style/PlainText" android:layout_width="wrap_content"></TextView>
            <EditText android:id="@+id/f" android:hint="0" android:scrollHorizontally="true"></EditText>
        </TableRow>
        <TableRow android:layout_height="wrap_content" android:layout_width="wrap_content">
            <TextView android:layout_width="wrap_content" android:layout_marginLeft="5dip" android:layout_height="wrap_content" style="@style/PlainText" android:id="@+id/textView5" android:text="w/ repetition:" android:gravity="right"></TextView>
            <EditText android:id="@+id/e" android:hint="0" android:scrollHorizontally="true"></EditText>
        </TableRow>
        <TableRow android:layout_height="wrap_content" android:gravity="center_vertical" android:layout_width="wrap_content">
            <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Combinations:" style="@style/PlainText"></TextView>
            <EditText android:id="@+id/d" android:hint="0" android:scrollHorizontally="true"></EditText>
        </TableRow>
        <TableRow android:layout_height="wrap_content" android:layout_width="wrap_content">
            <TextView android:layout_width="wrap_content" android:layout_marginLeft="5dip" android:layout_height="wrap_content" style="@style/PlainText" android:id="@+id/textView6" android:text="w/ repetition:" android:gravity="right"></TextView>
            <EditText android:id="@+id/c" android:hint="0" android:scrollHorizontally="true"></EditText>
        </TableRow>
        <TableRow android:layout_height="wrap_content" android:gravity="center_vertical" android:layout_width="wrap_content">
            <TextView android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="# of subsets:" style="@style/PlainText"></TextView>
            <EditText android:id="@+id/b" android:hint="0" android:scrollHorizontally="true"></EditText>
        </TableRow>
        <TableRow android:layout_height="wrap_content" android:gravity="center_vertical" android:layout_width="wrap_content">
            <TextView android:id="@+id/TextView04" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pigeonhole:" style="@style/PlainText"></TextView>
            <EditText android:id="@+id/z" android:hint="0" android:scrollHorizontally="true"></EditText>
        </TableRow>
    </TableLayout>
4

2 に答える 2

1

答えは、サイズをハードコーディングするのではなく、android:shrinkColumns(#、#)になりました。回答コメントの@akand074からのコメント。私はこれがなぜそしてどのように機能するかを説明するこのリンクを見つけました:

http://growingupwithandroid.blogspot.com/2010/01/how-does-tablelayout-handle-column.html#remindMeAgain

于 2013-04-10T19:20:49.903 に答える
0

このようなものは、編集テキストへのユーザー入力の文字数を制限することができます。

android:maxLength="10"

これにより、文字のオーバーフローが制限されます。

いくつかは数値フィールドであることに気づきました。だから使用する

android:inputType="number"

または他の一致するオプション。

アップデート

このようなものは、選択した列を引き伸ばして残りのスペースを占有します

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">
    <TableRow>
        <TextView
            android:layout_column="1"
            android:text="Open..."
            android:padding="3dip" />
        <TextView
            android:text="Ctrl-O"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>
</TableLayout>

詳細については、このリンクを確認してください

http://developer.android.com/resources/tutorials/views/hello-tablelayout.html

于 2011-08-26T00:47:54.680 に答える