2014-12-30 45 views
6

Tôi có EditText nàyLàm thế nào để làm cho Android EditText mở rộng theo chiều dọc khi đầy đủ

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="72dp" 
    android:hint="@string/write_message" 
    android:textColorHint="@color/primary_color" 
    android:ems="10" 
    android:imeOptions="actionDone" 
    android:inputType="textImeMultiLine" 
    android:id="@+id/message_input" 
    android:layout_gravity="center_horizontal" 
    android:backgroundTint="@color/primary_color"/> 

Khi hộp được lấp đầy với người sử dụng đầu vào văn bản, nó cuộn bên phải để nhường chỗ cho văn bản hơn, tôi không thích hành vi này, và muốn nó nếu hộp EditText mở rộng lên khi nó cần nhiều phòng hơn? Có cách nào để làm việc này không? Cảm ơn.

Trả lời

16

Vâng, điều này thực sự liên quan đến hai điều:

  1. Lập EditText chấp nhận nhiều dòng đầu vào.
  2. Tăng chiều cao khi có thêm dòng văn bản được thêm vào.

Vì vậy, để đạt được điều này, bạn cần phải thiết lập:

android:inputType="textMultiLine" 
android:layout_height="wrap_content" 

(Quan tâm đến difference between textMultiLine and textImeMultiLine).

Đoạn mã XML đầy đủ sẽ là:

<EditText 
    android:layout_width="match_parent" 
    android:inputType="textMultiLine" 
    android:layout_height="wrap_content" 
    android:hint="@string/write_message" 
    android:textColorHint="@color/primary_color" 
    android:ems="10" 
    android:imeOptions="actionDone" 
    android:id="@+id/message_input" 
    android:layout_gravity="center_horizontal" 
    android:backgroundTint="@color/primary_color"/>  
+1

Marvelous Cảm ơn. – ChristianCuevas

+7

'imeOptions' sẽ bị bỏ qua nếu' inputType' là 'textMultiline' – Eliezer

Các vấn đề liên quan