¿Permitir multi-línea en la vista EditarTexto en Android?

Cómo permitir multi-line en la vista EditText de Android?

De forma predeterminada, todos los widgets de EditText de Android tienen varias líneas.

He aquí un ejemplo de código:

 <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 sea mejor utilizarlo:

 <EditText ... android:inputType="textMultiLine" /> 

Esto se debe a que android: singleLine está obsoleto.

Esto funciona para mí, en realidad estos 2 atributos son importantes: inputType y líneas . Además, puede que necesite una barra de desplazamiento, el código siguiente muestra cómo crear 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" /> 

Esta es la manera que he utilizado y su funcionamiento muy bien también. Espero que esto ayude 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.

EditText tiene una propiedad singleLine . Puede establecer en el XML o llamando a setSingleLine (false); http://developer.android.com/reference/android/widget/TextView.html#setSingleLine%28%29

Intente esto, agregue estas líneas a su opinión del texto de la edición, yo agregará el mío. Asegúrate de entenderlo

 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 en el listner del tecleo a este texto de la edición como sigue, yo agregará el mío, nombres del chane según el suyo.

 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

Todos estos son buenos, pero no funcionará en caso de que tenga su edittext dentro de la vista de desplazamiento de nivel superior 🙂 Tal vez 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, los coloca en la vista de desplazamiento para hacer que los ajustes se puedan desplazar. En caso de que necesite multilínea desplazable editar texto en su configuración, su desplazamiento no funcionará.

Para deshabilitar el número de líneas que se asignó previamente en el tema, use el atributo xml: android:lines="@null"

Aprendí esto de http://www.pcsalt.com/android/edittext-with-single-line-line-wrapping-and-done-action-in-android/ , aunque no me gusta el sitio web yo mismo. Si desea una multilínea, pero desea retener el botón de entrada como un botón de publicación, establezca el desplazamiento horizontal de la vista de lista a false.

android:scrollHorizontally="false"

Si no funciona en xml, hacerlo programáticamente funciona extrañamente.

listView.setHorizontallyScrolling(false);

Otra cosa android:layout_height="wrap_content" 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 material, se estira de acuerdo a cuánto ingresa el usuario, incluyendo varias líneas.

  • Cómo buscar un texto largo?
  • Android EditText setText no actualizar el texto
  • ¿Por qué el texto ListView generado dinámicamente es gris?
  • Paginación en Android TextView
  • ¿Cómo mostrar el texto vectorizado usando libgdx?
  • Almacena grandes cantidades de textos para la aplicación de Android
  • Android: Copia de un texto en el portapapeles para API <11
  • ¿Cómo puedo utilizar TypefaceSpan o StyleSpan con un tipo de letra personalizado?
  • Android EditText Width porque Hint
  • Cambiar la imagen de fondo de una actividad que extiende ListActivity
  • Obtener palabra de EditText en la posición actual del cursor
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.