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.