web-dev-qa-db-ja.com

AndroidのEditTextビューで複数行を許可しますか?

AndroidのEditTextビューで複数行を許可する方法

407
Adham

デフォルトでは、AndroidのすべてのEditTextウィジェットは複数行にまたがっています。

サンプルコードは次のとおりです。

<EditText
    Android:inputType="textMultiLine" <!-- Multiline input -->
    Android:lines="8" <!-- Total Lines prior display -->
    Android:minLines="6" <!-- Minimum lines -->
    Android:gravity="top|left" <!-- Cursor Position -->
    Android:maxLines="10" <!-- Maximum Lines -->
    Android:layout_height="wrap_content" <!-- Height determined by content -->
    Android:layout_width="match_parent" <!-- Fill entire width -->
    Android:scrollbars="vertical" <!-- Vertical Scroll Bar -->
/>
1040
Shardul

あなたはそれを使う方が良いと思うかもしれません:

<EditText 
...
Android:inputType="textMultiLine"
/>

これはAndroid:singleLineが推奨されなくなったためです。

218
Knossos

これは私にとってはうまくいきます、実際にはこれら2つの属性が重要です: inputType lines 。その上、あなたはスクロールバーを必要とするかもしれません、以下のコードはそれを作る方法を示します:

 <EditText
        Android:id="@+id/addr_edittext"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:gravity="top|left"
        Android:inputType="textEmailAddress|textMultiLine"
        Android:lines="20"
        Android:minLines="5"
        Android:scrollHorizontally="false"
        Android:scrollbars="vertical" />
39
acoustic

これは私が使用した方法であり、その作業もうまくいきます。誰かに役立つことを願っています。

<EditText 
    Android:id="@+id/EditText02"
    Android:gravity="top|left" 
    Android:inputType="textMultiLine"
    Android:layout_height="wrap_content"
    Android:layout_width="wrap_content"
    Android:lines="5" 
    Android:scrollHorizontally="false" 
/>

乾杯! …ありがとう。

12
Nandagopal T

これを試して、これらの行をあなたの編集テキストビューに追加してください。私が追加します。あなたがそれを理解していることを確認してください

Android:overScrollMode="always"
Android:scrollbarStyle="insideInset"
Android:scrollbars="vertical"

<EditText
    Android:inputType="textMultiLine"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:id="@+id/editText_newprom_description"
    Android:padding="10dp"
    Android:lines="5"
    Android:overScrollMode="always"
    Android:scrollbarStyle="insideInset"
    Android:minLines="5"
    Android:gravity="top|left"
    Android:scrollbars="vertical"
    Android:layout_marginBottom="20dp"/>

次のようにあなたのJavaクラスでこの編集テキストにクリックリストを作る、私はあなたのものに従って私の、chaneの名前を追加します。

EditText description;
description = (EditText)findViewById(R.id.editText_newprom_description);

description.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {

                view.getParent().requestDisallowInterceptTouchEvent(true);
                switch (motionEvent.getAction() & MotionEvent.ACTION_MASK){
                    case MotionEvent.ACTION_UP:
                        view.getParent().requestDisallowInterceptTouchEvent(false);
                        break;
                }

                return false;
            }

        });

これは私にとってはうまくいきます

9

EditTextには singleLine プロパティがあります。 XMLで設定するか、setSingleLine(false)を呼び出して設定できます。 http://developer.Android.com/reference/Android/widget/TextView.html#setSingleLine%28%29

8
milan

これらはすべて素晴らしいですが、上位レベルのスクロールビュー内にedittextがある場合には機能しません。この場合、設定をスクロール可能にするために、それらすべてをスクロール表示にします。設定に複数行のスクロール可能な編集テキストが必要な場合、そのスクロールは機能しません。

5

テーマで以前に割り当てられていた行数を無効にするには、xml属性を使用します。Android:lines="@null"

4
Oleg Bozhko
 <EditText
           Android:id="@id/editText" //id of editText
           Android:gravity="start"   // Where to start Typing
           Android:inputType="textMultiLine" // multiline
           Android:imeOptions="actionDone" // Keyboard done button
           Android:minLines="5" // Min Line of editText
           Android:hint="@string/Enter Data" // Hint in editText
           Android:layout_width="match_parent" //width editText
           Android:layout_height="wrap_content" //height editText
           /> 
3
Yogesh Sarvaiya

私は http://www.pcsalt.com/Android/edittext-with-single-line-line-wrapping-and-done-action-in-Android/ からこれを学びましたウェブサイト私自身。ただし、複数行に分けてEnterボタンを投稿ボタンとして保持したい場合は、リストビューの「水平スクロール」をfalseに設定します。

Android:scrollHorizontally="false"

それがxmlでうまくいかない場合は、プログラム的にやってもおかしくなります。

listView.setHorizontallyScrolling(false);

1
Fire3galaxy
Android:inputType="textMultiLine"

このコード行は私のために働きます。このコードをあなたのxmlファイルにedittextしてください。

0
Yıldırım

もう1つのすべきことは、Android:minHeightAndroid:layout_height="wrap_content"を一緒に使用することです。このようにして、編集のサイズが空のとき、およびユーザーが入力したときに編集のサイズを設定できます。複数行を含め、ユーザーが入力した量に応じて拡大されます。

0
instanceof
<EditText
                Android:hint="Address"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_weight="1"
                Android:inputType="textMultiLine|textNoSuggestions"
                Android:id="@+id/edittxtAddress"
                Android:layout_marginLeft="@dimen/textsize2"
                Android:textColor="@Android:color/white"
                Android:scrollbars="vertical"
                Android:minLines="2"
            Android:textStyle="normal" />

そして、 "\ n"を削除するアクティビティでは、ユーザーが次の行を押します

String editStr= edittxtAddress.getText().toString().trim();

 MyString= editStr.replaceAll("\n"," ");
0
Kapil Parmar