So erweitern Sie die Höhe der EditText-Box

73

Hier ist mein 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>

Wenn das EditText-Feld zu Ende ist, soll es in die nächste Zeile umgebrochen werden. Im Moment geht es einfach weiter nach rechts und bewegt alles, was vom Bildschirm übrig bleibt.

TheLettuceMaster
quelle
1
Mögliches Duplikat von Android Word-Wrap EditText-Text
blahdiblah

Antworten:

145

Ähnlich einer anderen Frage:

Android Word-Wrap EditText-Text

Hier ist ein Beispiel für 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" />
Nicholas DiPiazza
quelle
9
Ich habe mir andere Antworten angesehen, aber das Größte verpasst: textMultiLine Danke, richtig markieren.
TheLettuceMaster
android: layout_height = "wrap_content" android: inputType = "textCapSentences | textMultiLine" das wird funktionieren
Jithu PS
Tolles Attribut, das mir nicht bekannt ist. Denken Sie daran, die Maxlines dynamisch basierend auf der Anzahl der Zeichenfolgen zu aktualisieren.
Vigneshwaran.m
37

Angenommen, Sie möchten zuerst nur eine Zeile haben, dann erweitern Sie sie auf 5 Zeilen und Sie möchten maximal 10 Zeilen haben.

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

Durch Erhöhen können android:linesSie festlegen, wie viele Zeilen erweitert werden sollen.

Hesam
quelle
3
Was ist, wenn wir mit 4 Zeilen beginnen möchten und der Text nach oben scrollen soll, wenn der Benutzer mehr als 4 Zeilen Text eingegeben hat?
Ivan
10

Fügen Sie einfach android: lines = "6" zu Ihrem Edittext hinzu

 <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"/>
Yyy
quelle
4

Versuchen Sie diesen 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"/>
KUSHA BK
quelle
1
Es wäre wirklich gut, wenn Sie einen Kommentar hinzufügen könnten, um dieser Antwort einen Kontext hinzuzufügen.
James Wood
2

Sie müssen Ihre EditTextKörpergröße einstellenandroid:layout_height="wrap_content"

&

android:lines="5"

Das hat den Trick für mich gemacht ConstraintLayout

N.Droid
quelle
0

Entfernen Sie diese Zeile aus Ihrem EditText

android:inputType="textCapSentences"

und fügen Sie diese Zeile mit der Anzahl der von Ihnen benötigten Zeilen hinzu

android:lines="2"

Hoffe das hilft dir

Deepak
quelle