studio - texto multilinea android
¿Permitir multilínea en la vista EditarTexto en Android? (12)
Aprendí esto en http://www.pcsalt.com/android/edittext-with-single-line-line-wrapping-and-done-action-in-android/ , aunque no me gusta el sitio web. Si desea multilínea PERO desea conservar el botón de entrada como un botón de publicación, establezca el "desplazamiento horizontal" de la vista de lista en falso.
android:scrollHorizontally="false"
Si no funciona en xml, hacerlo de manera programática funciona de manera extraña.
listView.setHorizontallyScrolling(false);
¿Cómo permitir multilínea en la vista EditText
de Android?
EditText tiene propiedad singleLine . Puede establecer en el XML o llamando a setSingleLine (false); http://developer.android.com/reference/android/widget/TextView.html#setSingleLine%28%29
Esta es la forma en que lo he usado y está funcionando bien también. Esperanza, esto ayudaría a alguien.
<EditText
android:id="@+id/EditText02"
android:gravity="top|left"
android:inputType="textMultiLine"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:lines="5"
android:scrollHorizontally="false"
/>
¡Aclamaciones! ...Gracias.
Esto me funciona, en realidad estos 2 atributos son importantes: inputType y líneas . Además, es posible que necesites una barra de desplazamiento, el siguiente código muestra cómo hacer una:
<EditText
android:id="@+id/addr_edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top|left"
android:inputType="textEmailAddress|textMultiLine"
android:lines="20"
android:minLines="5"
android:scrollHorizontally="false"
android:scrollbars="vertical" />
Intenta esto, agrega estas líneas a tu vista de edición de texto, agregaré la mía. asegúrate de que lo entiendes
android:overScrollMode="always"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical"
<EditText
android:inputType="textMultiLine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText_newprom_description"
android:padding="10dp"
android:lines="5"
android:overScrollMode="always"
android:scrollbarStyle="insideInset"
android:minLines="5"
android:gravity="top|left"
android:scrollbars="vertical"
android:layout_marginBottom="20dp"/>
y en su clase de java, haga clic en Listner para hacer clic en este texto de edición de la siguiente manera, agregaré los nombres míos, chane de acuerdo a los suyos.
EditText description;
description = (EditText)findViewById(R.id.editText_newprom_description);
description.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
view.getParent().requestDisallowInterceptTouchEvent(true);
switch (motionEvent.getAction() & MotionEvent.ACTION_MASK){
case MotionEvent.ACTION_UP:
view.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
return false;
}
});
Esto funciona bien para mi
Otra cosa interesante que hacer es usar android:minHeight
junto con android:layout_height="wrap_content"
. De esta manera, puede establecer el tamaño de la edición cuando está vacía, y cuando el usuario ingresa cosas, se estira según la cantidad que ingresa el usuario, incluidas varias líneas.
Para deshabilitar el número de líneas que se asignaron previamente en el tema, use el atributo xml: android:lines="@null"
Por defecto, todos los widgets de EditText
en Android tienen múltiples líneas.
Aquí hay un código de ejemplo:
<EditText
android:inputType="textMultiLine" <!-- Multiline input -->
android:lines="8" <!-- Total Lines prior display -->
android:minLines="6" <!-- Minimum lines -->
android:gravity="top|left" <!-- Cursor Position -->
android:maxLines="10" <!-- Maximum Lines -->
android:layout_height="wrap_content" <!-- Height determined by content -->
android:layout_width="match_parent" <!-- Fill entire width -->
android:scrollbars="vertical" <!-- Vertical Scroll Bar -->
/>
Puede que le resulte mejor usar:
<EditText
...
android:inputType="textMultiLine"
/>
Esto se debe a que android:singleLine
está en desuso.
Todos estos son buenos, pero no funcionarán en caso de que tenga su texto de edición dentro de la vista de desplazamiento del nivel superior :) Quizás el ejemplo más común es la vista "Configuración" que tiene tantos elementos que van más allá del área visible. En este caso, colóquelos en la vista de desplazamiento para que los ajustes se puedan desplazar. En caso de que necesite edición multilínea de texto de desplazamiento en su configuración, su desplazamiento no funcionará.
<EditText
android:id="@id/editText" //id of editText
android:gravity="start" // Where to start Typing
android:inputType="textMultiLine" // multiline
android:imeOptions="actionDone" // Keyboard done button
android:minLines="5" // Min Line of editText
android:hint="@string/Enter Data" // Hint in editText
android:layout_width="match_parent" //width editText
android:layout_height="wrap_content" //height editText
/>
<EditText
android:hint="Address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="textMultiLine|textNoSuggestions"
android:id="@+id/edittxtAddress"
android:layout_marginLeft="@dimen/textsize2"
android:textColor="@android:color/white"
android:scrollbars="vertical"
android:minLines="2"
android:textStyle="normal" />
y en Actividad para eliminar "/ n" es usuario presione siguiente línea
String editStr= edittxtAddress.getText().toString().trim();
MyString= editStr.replaceAll("/n"," ");