2010-03-15 15 views
210

Chcę mieć 5 linii na wysokość obszaru tekstu. Korzystam z następującego kodu.Android: wyrównanie w pionie dla wielu linii EditText (obszar tekstu)

<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:singleLine="false" 
    android:lines="5" 
    android:layout_marginLeft="10dip" 
    android:layout_marginRight="10dip" /> 

Obszar tekstu wygląda dobrze, ale problem polega na tym, że kursor miga pośrodku pola tekstowego. Chcę, żeby migało w pierwszej linii, przy pierwszym znaku pola tekstowego.

+15

spróbować usunąć swój grawitacji „centrum”, to może być problem – Sephy

Odpowiedz

91

Jest to podobne do CommonsWare odpowiedź, ale z niewielkim uszczypnąć: android:gravity="top|left". Kompletny przykładowy kod:

<EditText 
    android:id="@+id/EditText02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:lines="5" 
    android:gravity="top|left" 
    android:inputType="textMultiLine" 
    android:scrollHorizontally="false" 
/> 
+0

dziękuję .... – Taruni

+6

Nie używaj 'top | left' chyba wiesz, że można kontrolować wszystkie języki w swojej aplikacji, istnieje wiele języków od prawej do lewej (http://en.wikipedia.org/wiki/Right-to-left) Zachowaj przyjazność dla lokalizacji – MariusBudin

6
<EditText android:id="@+id/EditText02" android:layout_width="120dp" 
    android:layout_height="wrap_content" android:lines="5" android:layout_centerInParent="true" 
    android:gravity="top|left" android:inputType="textMultiLine" 
    android:scrollHorizontally="false" android:minWidth="10.0dip" 
    android:maxWidth="180dip" /> 

będzie działać

9

użyj:

android:gravity="top" 

lub

android:gravity="top|left" 
2

myślę, że można użyć layout:weight = 5 zamiast android:lines = 5 Becaus e kiedy portujesz swoją aplikację na mniejsze urządzenie - ładnie to robi ... cóż, oba atrybuty spełnią twoje zadanie.

18

U możesz użyć tego Edittext .... To ci pomoże.

<EditText 
android:id="@+id/EditText02" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:lines="5" 
android:gravity="top|left" 
android:inputType="textMultiLine" /> 
Powiązane problemy