49

同じ水平線上にEditTextButtonが隣り合っています。EditTextユーザーが大量のテキストを入力した場合、 のサイズが変更された場合、がつぶれた場合を除いて、見栄えは良いButtonです。

私は両方を持っておりEditText、にButton設定していlayout_width="wrap_content"ます。 "fill_parent"レイアウトが台無しになり、必要がない場合は絶対サイズを使用したくありません-現在の方法は、横向きと縦向きの両方で見栄えがよく、EditTextサイズを変更したくないだけです.

私のレイアウト:

<TableLayout
    android:id="@+id/homelayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TableRow>
        <TextView
            android:id="@+id/labelartist"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Find artists:" />
    </TableRow>
    <TableRow>
        <EditText
            android:id="@+id/entryartist"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="6"
            android:background="@android:drawable/editbox_background"
            android:editable="true"
            android:padding="5px"
            android:singleLine="true" />
        <Button
            android:id="@+id/okartist"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="10dip"
            android:layout_weight="1"
            android:text="Search" />
    </TableRow>

</TableLayout>
4

10 に答える 10

88

EditText用

android:layout_width="0dp" - not required but preferred.
android:layout_weight="1"

ボタンの場合は指定しないでくださいandroid:layout_weight

于 2009-09-11T06:09:27.480 に答える
14

私がしているのは、アクティビティの onCreate で、最初に EditText を測定してから、その maxWidth を適用します。

次のようなコードを使用してこれを行うことができます。

EditText someedittext = (EditText)findViewById(R.id.sometextview);
someedittext.setMaxWidth(someedittext.getWidth());
于 2011-10-11T14:31:35.500 に答える
5

を与えEditTextますmaxWidth。これにより、指定した幅を超えてサイズ変更されなくなります。また、1 行に収めたい場合はmaxLines設定も 1 にしてください。

于 2009-09-11T05:27:45.180 に答える
3

ここに画像の説明を入力

この動作を防ぐには、android:imeOptions を追加する必要があります。

于 2016-02-18T14:48:56.777 に答える
2

使用するだけです:

android:layout_width="fill_parent"

EditText と Button の両方。EditText の設定でも機能しますが、両方に設定することをお勧めします。

于 2010-10-11T20:55:50.453 に答える
1

上に示すように、編集テキストのサイズを定義できます

android:minWidth="80dp"
android:maxWidth="80dp"

また

android:layout_width="60dp"

また

必要なサイズの背景画像を適用できますが、その高さと幅をwrap_contentで定義することを忘れないでください。

  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
于 2013-01-14T21:12:32.380 に答える
0

同様の問題がありましたが、上記を機能させることができませんでした。私がしたことは、EditText ボックスからテキストを取り込み、画面が処理できる最大サイズにフォーマットすることです。これをDBに保存するときは、表示テキストと原文として保存します。

このページに行けば、私はより長い説明を入れます。

于 2009-09-23T20:41:55.637 に答える
0

これを行う正しい方法は、android:minWidth と android:maxWidth を必要な幅に設定することです。これにより、android:layout_weight を使用するためにレイアウトを調整する必要がなくなります。

たとえば、入力する文字数に関係なく、EditText を常に 80 密度ピクセルにしたい場合は、次のようにします。

android:minWidth="80dp"
android:maxWidth="80dp"
于 2011-09-07T15:35:38.720 に答える
0

正確なクエリがありました。しかし、線形レイアウトで EditText と Button が隣り合っていました。EditText android:layout_width="0dp"に android:layout_weight="1" を試してみ ましたが、完璧に機能しました!! どうもありがとう!

于 2014-10-04T06:19:57.230 に答える