2010-03-15 10 views
210

Voglio avere 5 linee per l'altezza dell'area di testo. Sto usando il seguente codice.Android: allineamento verticale per multi linea EditText (area di testo)

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

L'area di testo sembra bene, ma il problema è che il cursore lampeggia nel mezzo del campo di testo. Voglio che lampeggi alla prima riga, al primo carattere del campo di testo.

+15

tenta di rimuovere la vostra forza di gravità "centro", potrebbe essere il problema – Sephy

risposta

91

Questo è simile a CommonsWare risposta, ma con un tweak minore: android:gravity="top|left". esempio di codice completo:

<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

Grazie mille .... – Taruni

+6

Non utilizzare 'top | left' se non si conosce è possibile controllare tutte le lingue nella vostra applicazione, ci sono un sacco di lingue da destra a sinistra là fuori (http://en.wikipedia.org/wiki/Right-to-left) Keep it localization-friendly – 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" /> 

funzionerà

9

Utilizzare questa:

android:gravity="top" 

o

android:gravity="top|left" 
2

Penso che si possa utilizzare layout:weight = 5 invece android:lines = 5 becaus Quando porti la tua app su un dispositivo più piccolo - lo fa bene .. beh, entrambi gli attributi porteranno al tuo lavoro ..

18

U puoi usare questo Edittext .... Questo ti aiuterà.

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