Android: Allineamento verticale per il multi linea EditText (area di testo)
-
20-09-2019 - |
Domanda
Voglio avere 5 linee per l'altezza dell'area di testo. Sto usando il seguente codice.
<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 lampeggia in prima linea, al primo carattere del campo di testo.
Soluzione
Usa android:gravity="top"
Altri suggerimenti
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"
/>
U può usare questo EditText .... Questo vi 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" />
Utilizzare questa:
android:gravity="top"
o
android:gravity="top|left"
<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" />
che funzionerà
Penso che si possa utilizzare layout:weight = 5
invece android:lines = 5
perché quando si porta la tua app per dispositivo più piccolo - lo fa bene .. bene, entrambi gli attributi saranno realizzare il vostro lavoro ..
Ora un giorno uso di start
gravità è la scelta migliore:
android:gravity="start"
Per Modifica testo (textarea):
<EditText
android:id="@+id/EditText02"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:lines="5"
android:gravity="start"
android:inputType="textMultiLine"
/>