En mi aplicación de Android tengo diferentes EditText
donde el usuario puede ingresar información. Pero necesito forzar al usuario a escribir en mayúsculas. ¿Conoces una función para hacer eso?
android
android-edittext
uppercase
Natacha
fuente
fuente
edittext.setFilters(new InputFilter[] {new InputFilter.AllCaps()});
embargo, el código debería ser .maxLength
), Intenta anexar elInputFilter.AllCaps()
deeditText.getFilters
matriz. Ver stackoverflow.com/a/18934659/3890983editText.filters = editText.filters + InputFilter.AllCaps()
editText.filters += InputFilter.AllCaps()
Kotlin es maravilloso! <3Si desea
obligar al usuario a escribir enmayúsculas de forma predeterminada en su EditText, solo necesita agregarandroid:inputType="textCapCharacters"
. (El usuario aún puede cambiar manualmente a minúsculas).fuente
Establecer el
input type
aTYPE_CLASS_TEXT| TYPE_TEXT_FLAG_CAP_CHARACTERS
. Elkeyboard
debería honrar eso.fuente
Se puede usar de dos maneras.
Primera forma:
Establecer
android:inputType="textCapSentences"
en su EditText.Segunda forma:
Cuando el usuario ingrese el número, debe usar el observador de texto y cambiarlo por minúscula a mayúscula.
fuente
Puede agregar la
android:textAllCaps="true"
propiedad a su archivo xml en EditText. Esto hará que el teclado de entrada de software aparezca en modo mayúsculas. El valor que ingrese aparecerá en mayúsculas. Sin embargo, esto no asegurará que el usuario solo pueda ingresarUpperCase
letras. Si lo desean, aún pueden recurrir a las letras minúsculas. Si desea asegurarse de que la salida del archivoEdittext
esté en mayúsculas, debe convertir manualmente la cadena de entrada utilizando eltoUpperCase()
método deString
clase.fuente
android:textAllCaps="true"
es solo una propiedad de TextView ( stackoverflow.com/a/28803492/5268730 ). Usar en suandroid:inputType="textCapCharacters"
lugar.Deberías poner
android:inputType="textCapCharacters"
con Edittext en el archivo xml.fuente
En lugar de preocuparse por tratar con el teclado, ¿por qué no simplemente aceptar cualquier entrada, minúscula o mayúscula y convertir la cadena a mayúscula?
El siguiente código debería ayudar:
Esto es fácil de usar ya que no es necesario que el usuario sepa que necesita la cadena en mayúsculas. Espero que esto ayude.
fuente
Aún mejor ... un trazador de líneas en Kotlin ...
¡Hecho!
fuente
<your_edit_text>.filters = <your_edit_text>.filters + InputFilter.AllCaps()
<your_edit_text>.filters += InputFilter.AllCaps()
En kotlin , en el archivo .kt, realice los cambios:
Utilice la propiedad sintética para el acceso directo del widget con id. Y en XML, para su texto de edición agregue un par de marcas más como:
Esto actualizará el teclado como mayúsculas habilitadas.
fuente
Usar filtro de entrada
fuente
fuente
Solo haz esto:
fuente
Intente usar cualquiera de los siguientes códigos para resolver su problema.
programáticamente:
XML:
fuente
Para mí funcionó agregando android: textAllCaps = "true" y android: inputType = "textCapCharacters"
fuente
Para obtener todo el capital, use lo siguiente en su XML:
fuente
pruebe este código, hará su entrada en mayúsculas
fuente
Según la respuesta aceptada, esta respuesta hace lo mismo, pero en Kotlin. Solo para facilitar el copypasting: ·)
fuente
filters += InputFilter.AllCaps()
: DPara obtener el teclado en mayúscula cuando haga clic en editar texto, use este código en su xml,
fuente
Estoy usando Visual Studio 2015 / Xamarin para construir mi aplicación para Android 5.1 y Android 6.0 (la misma apk instalada en ambos).
Cuando especifiqué
android:inputType="textCapCharacters"
en mi axml, el teclado AllCaps apareció como se esperaba en Android 6.0, pero no en Android 5.1. He añadidoandroid:textAllCaps="true"
a mi axml y todavía sin teclado MAYÚSCULAS en Android 5.1. Configuré un filtro usandoEditText.SetFilters(new IInputFilter[] { new InputFilterAllCaps() });
y aunque el teclado virtual muestra caracteres en minúsculas en Android 5.1, el campo de entrada ahora es AllCaps.EDITAR: Las diferencias de comportamiento que observé y supuse que estaban relacionadas con el sistema operativo se debieron en realidad a que tenía diferentes versiones de Google Keyboard en los dispositivos de prueba. Una vez que actualicé los dispositivos al último Teclado de Google (lanzado en julio de 2016 a partir de este escrito), el comportamiento de 'Mayúsculas' fue consistente en todos los sistemas operativos. Ahora, todos los dispositivos muestran caracteres en minúscula en el teclado, pero la entrada es Mayúsculas debido a
SetFilters(new IInputFilter[] { new InputFilterAllCaps() });
fuente
Xamarin equivalente de la respuesta de ErlVolton:
fuente
Realización simple de kotlin
PS para mí
filters
siempre está vacío inicialmentefuente
Un Java 1-liner de la solución propuesta podría ser:
Tenga en cuenta que necesita
com.google.common.collect.Lists
.fuente
Simplemente, agregue el siguiente código a su EditText de su archivo xml.
Y si desea permitir tanto el texto en mayúscula como los dígitos, use el siguiente código.
fuente