2010-11-20 8 views

答えて

878

デフォルトでは、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 --> 
/> 
+3

はinputTypeがactionSendしtextMultiLineとimeOptionsに設定されている方法はありますか? inputTypeをtextMultiLineに、imeOptionsをactionSendに設定すると、Sendの代わりにS4キーボードにEnterキーが表示されます。 – user484691

+1

"textMultiLineとimeOptions"については、http://stackoverflow.com/questions/5014219/multiline-edittext-with-done-softinput-action-label-on-2-3を参照してください。 – TOMKA

+1

注意すべき点として、 'inputType'少なくとも 'lines'と' minLines'属性を否定します。私は 'inputType =" phone "'を持っていて、行の属性は無効です – ono

183

あなたはそれがより良い使用することを見つけることがあります。

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

アンドロイドためです:単一行が廃止されました。

+7

+1、Android 3.0では 'android:singleLine'は動作しません。 –

+0

Shardulsの答えは現代のApisでもうまくいくはずです。彼らは彼らの答えの廃止された 'singleLine'部分を削除して以来(ずいぶん前)。質問そのものについては、それが答えの中で最も重要な部分です。 – Knossos

9

これは私があまりにも使用し、その作業罰金の方法です。希望、これは誰かを助けるだろう。

<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" 
/> 

乾杯! ...ありがとう。

34

これは、私の作品は、実際にこれらの2つの属性が重要です。inputTypeライン

<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" /> 
5

これらのすべてがいいですが、あなたは、上位レベルのスクロールビュー中にあなたのEditTextを持っている場合には動作しません:)おそらく、最も一般的な例:加えて、あなたはスクロールバーが必要な場合があり、以下のコードは、1つの方法を示し表示されている領域を超えているアイテムが非常に多い「設定」ビューです。この場合、それらをすべてスクロールビューに入れて、設定をスクロール可能にします。設定で複数行のスクロール可能な編集テキストが必要な場合、そのスクロールは機能しません。

+0

@Ukma完璧な私は同じ問題に直面している – Erum

7

は が、私は私を追加します、あなたのエディットテキストビューにこれらの行を追加し、これを試してみてください。あなたは次のように

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; 
      } 

     }); 

これは私がウェブサイトを自分で好きではないものの、http://www.pcsalt.com/android/edittext-with-single-line-line-wrapping-and-done-action-in-android/からこのことを学んだ私

0

のため正常に動作します。あなたは複数行をしたいが、ポストボタンとして入力し、ボタンを保持したい場合は、リストビューのfalseに「水平スクロール」を設定します。

android:scrollHorizontally="false"

それはプログラムで不気味な作品を、それをやって、XMLで動作しない場合。

listView.setHorizontallyScrolling(false);

3

以前にテーマを使用するXML属性に割り当てられた行数を無効にするには:行うにはandroid:lines="@null"

+1

小/自明の答えのコメントセクションを使用してください –

0

もうきちんとした事がandroid:layout_height="wrap_content"とともにandroid:minHeightを使用することです。こうすることで、空のときに編集のサイズを設定することができます。また、ユーザーが記事を入力すると、複数の行を含め、ユーザーの入力量に応じて拡大されます。

0
<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" は、ユーザーのプレスnextline

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

MyString= editStr.replaceAll("\n"," "); 
0
<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 
      /> 
関連する問題