2012-09-21 12 views
48

Oto mój plan:Jak zrobić EditText Box Wysokość Rozwiń

<?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> 

Gdy to pole EditText dostaje się do końca, chcę go zawinąć do następnego wiersza. W tej chwili wszystko idzie dobrze, ruszając wszystko, co zostało z ekranu.

+1

Prawdopodobny duplikat tekstu edycji tekstu w Androidzie-Wrap EditText (http://stackoverflow.com/questions/3276380/android-word-wrap-edittext-text) – blahdiblah

Odpowiedz

97

Już zadane i odpowiedziałeś wcześniej.

Android Word-Wrap EditText text

Przykładowy kod XML:

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

Spojrzałem na inne odpowiedzi, ale przegapiłem największą rzecz: 'textMultiLine' dzięki, zaznaczając poprawne. – KickingLettuce

+0

android: layout_height = "wrap_content" android: inputType = "textCapSentences | textMultiLine" to zrobi pracę –

+0

Wielki atrybut, którego nie jestem świadomy. Zastanawiam się, aby zaktualizować maxlines dynamicznie w oparciu o liczbę napisów. –

25

Załóżmy, że po prostu chcesz mieć jedną linię w pierwszym następnie poszerzyć ją do 5 wierszy i chcesz mieć maksymalnie 10 wierszy.

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

Zwiększając android:lines można zdefiniować go rozwinąć ile linii.

+0

Co się stanie, jeśli chcemy rozpocząć od 4 linii i przewinąć tekst w górę, gdy użytkownik wprowadzi więcej niż 4 linii tekstu? – Ivan

3

wypróbować ten kod

<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

Byłoby naprawdę dobrze, gdybyś dodał komentarz, aby dodać kontekst do tej odpowiedzi. –

0

Usuń ten wiersz formularzu EditText

android:inputType="textCapSentences" 

i dodać tę linię z numerem linii wymaganych przez ciebie

android:lines="2" 

Nadzieja to pomaga

3

Wystarczy dodać androida: Linie = "6" do 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"/> 
0

Musisz swój wzrost EditText ustawiony android:layout_height="wrap_content"

&

android:lines="5" 

To załatwiło sprawę dla mnie wewnątrz ConstraintLayout

Powiązane problemy