studio - personalizar edittext android
¿Cómo configuro el teclado numérico en EditText sin forzar la entrada numérica? (6)
Esta pregunta ya tiene una respuesta aquí:
Esto se ha pedido en otro lugar en línea en vano. ¿Hay alguna forma en Android de mostrar el teclado numérico al centrarse en un texto de EditText
, pero aún así permitir que se ingrese cualquier texto?
Me gustaría que el usuario ingrese las cantidades (por ejemplo, "1 kg", "2 L"), por lo que simplemente inputType="number"
no funcionará.
Agregue la siguiente línea de código, y hará el truco :)
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
Esto mostrará primero el teclado numérico, pero también le permite ingresar texto libre.
Más información here .
Esto puede depender del dispositivo, pero ha intentado:
android:inputType="phone"
Todos los tipos de entrada Link
en el xml de EditText, esto le da el teclado del teclado numérico pero luego puede cambiar a las letras si lo desea. (Al menos en mi Nexus One).
Intenté muchas combinaciones diferentes antes de darme cuenta de esto, pero parece que funciona correctamente:
setRawInputType(InputType.TYPE_CLASS_NUMBER);
La clave está en la descripción de setRawInputType(int)
:
Cambie directamente el tipo de contenido entero de la vista de texto, sin modificar ningún otro estado .
Parece que la pregunta subyacente con la que está tratando es: ¿cómo puedo permitir que el usuario ingrese cantidades?
Una respuesta adecuada es: con una entrada numérica, emparejada con alguna forma de selección de categoría para la unidad. por ejemplo, radio, menú desplegable o spinner. Esto es probablemente más fácil de usar y también le ahorra el dolor de cabeza de tener que validar su entrada cada vez.
También podría tener cojones de hierro y escribir un teclado suave personalizado.
Tenga en cuenta que: setRawInputType (InputType.TYPE_CLASS_NUMBER);
tiene el efecto deseado en algunos dispositivos pero no en otros ...
En htc funciona bien, sin embargo, en Galaxy Tab II solo obtienes el teclado numérico y no hay forma de volver a alfa.
escribe el código en XML, android: numeric = "integer" android: inputType = "phone" android: digits = "1234567890"