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.


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

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.


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

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

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


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.