¿Permitir multi-línea en la vista EditarTexto en Android?
Cómo permitir multi-line en la vista EditText
de Android?
- Necesidad de formatear moneda para TextView
- Incorpore la línea que envuelve al usar bulletspan
- Visualización de texto diferente en un elemento giratorio que el texto seleccionado, android
- Cómo guardar el archivo de texto analizado en almacenamiento interno / externo en android
- Cómo romper el texto de estilo en las páginas en Android?
- Acceso a TextView desde otra clase
- Android: cambia el color de la fuente al hacer clic
- Generar una imagen con texto personalizado en Android
- Cómo cambiar el color de texto de un Android ToogleButton en el cambio de estado?
- Vista de texto con textos de colores diferentes en código xml
- ¿Existen bibliotecas de análisis de PDF gratuitas que funcionen en Android?
- ¿Cómo encontrar el número de caracteres de TextView de Android por línea?
- ¿Cómo lo hicieron? Diálogos sobre la pantalla de inicio
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.
- La actividad ha filtrado la ventana que fue agregada originalmente
- ¿Cuál es la manera más simple y más robusta de obtener la ubicación actual del usuario en Android?