How to Make EditText Box Height Expand

AndroidAndroid Edittext

Android Problem Overview


Here is my layout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/etTweetReview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:ems="10"
        android:hint="Discuss up to 140 characters"
        android:imeOptions="actionDone"
        android:inputType="textCapSentences"
        android:lines="2"
        android:maxLength="140"
        android:paddingBottom="10dp"
        android:singleLine="false" />

    <Button
        android:id="@+id/theReviewBarButton"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="5dp"
        android:text="Submit Review"
        android:textSize="22sp" />

    <Spinner
        android:id="@+id/spinnerSort"
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp" />

    <ListView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/android:list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="5dp"
        android:scrollbars="none"
        android:layout_marginRight="5dp"
        android:layout_marginTop="8dp" >
    </ListView>

</LinearLayout>

When that EditText box gets to the end, I want it to wrap to the next line. Right now, it just keeps going right moving everything left off screen.

Android Solutions


Solution 1 - Android

Similar to another question:

https://stackoverflow.com/questions/3276380/android-word-wrap-edittext-text

Here's some example XML code:

<EditText
    android:id="@+id/edtInput"
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:hint="@string/compose_hint"
    android:inputType="textCapSentences|textMultiLine"
    android:maxLength="2000"
    android:maxLines="4" />

Solution 2 - Android

Assume that you just want to have one line at first then expand it to 5 lines and you want to have maximum 10 lines.

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/etMessageBox"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:autoLink="all"
    android:hint="@string/message_edit_text_hint"
    android:lines="5"
    android:minLines="1"
    android:gravity="top|left"
    android:maxLines="10"
    android:scrollbars="none"
    android:inputType="textMultiLine|textCapSentences"/>

By increasing android:lines you can define expand it how many lines.

Solution 3 - Android

Just add android:lines="6" to your edittext

 <Edittext
      android:id="@+id/edt_address"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:inputType="textMultiLine"
      android:maxLines="6"             
      android:lines="6"
      android:layout_marginTop="@dimen/activity_vertical_margin"
      android:gravity="left"/>

Solution 4 - Android

try this code

<EditText
    android:id="@+id/"edittext01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="textCapSentences|textMultiLine"
    android:maxLength="100"
    android:maxLines="10"/>

Solution 5 - Android

You need your EditText height set to android:layout_height="wrap_content"

&

android:lines="5"

This did the trick for me inside ConstraintLayout

Solution 6 - Android

Remove this line form your EditText

android:inputType="textCapSentences"

and add this line with number of lines required by you

android:lines="2"

Hope this helps you

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTheLettuceMasterView Question on Stackoverflow
Solution 1 - AndroidNicholas DiPiazzaView Answer on Stackoverflow
Solution 2 - AndroidHesamView Answer on Stackoverflow
Solution 3 - AndroidYyyView Answer on Stackoverflow
Solution 4 - AndroidKUSHA B KView Answer on Stackoverflow
Solution 5 - AndroidN.DroidView Answer on Stackoverflow
Solution 6 - AndroidDeepakView Answer on Stackoverflow