teclado personalizar para mediante interruptores grande google gboard funciona descargar configuracion celular asistente acceso accesibilidad android android-softkeyboard

personalizar - teclado android



¿Solo muestra botones numéricos en el Teclado Suave en Android? (8)

En el teclado android:inputType="numberDecimal" Android, puede configurar el teclado android:inputType="numberDecimal" para que muestre los números en lugar de un teclado android:inputType="numberDecimal" usando android:inputType="numberDecimal" . Sin embargo, ¿qué debo hacer si solo quiero mostrar la fila de número superior 1 2 3 4 5 6 7 8 9 0 y no las siguientes filas que comienzan con @ # $ % ... ?

¡Gracias por escuchar!


Acabo de publicar una respuesta here pero volviendo a publicar por simplicidad:

Parece que Android ha agregado la funcionalidad que estábamos buscando. Este es el xml que utilizo para la entrada numérica EditText simple:

android:inputType="numberPassword" android:digits="0123456789" android:singleLine="true" android:ems="4" android:textColor="@android:color/black" android:gravity="center"


Cuando lo investigué, Android no tenía buenas opciones para eso. Terminé teniendo que escribir mi propia versión de una interfaz de usuario similar a un teclado suave.


El teclado numérico es lo más parecido que he encontrado (establezca inputType="phone" en su EditText ).


La respuesta aceptada no funcionó para mí (probada en teléfonos OnePlus 3t y Samsung Galaxy S6 / S7).

Esta solución usa numberPassword pero anula el método de transformación predeterminado para que EditText muestre caracteres en lugar de mostrar puntos.

<EditText android:id="@+id/userid" android:inputType="numberPassword" android:maxLength="6" /> // Numeric 6 character user id EditText input = findViewById(R.id.userid); // Process input and show characters instead of dots input.setTransformationMethod(SingleLineTransformationMethod.getInstance());


La respuesta aceptada no funcionó para mí. Siguió mostrando otros personajes no deseados

Encontré una manera de lograr el comportamiento que quería cambiando el inputType a numberPassword y luego deshabilitando los puntos de contraseña

textInput.inputType = InputType.TYPE_CLASS_NUMBER or InputType.TYPE_NUMBER_VARIATION_PASSWORD textInput.transformationMethod = SingleLineTransformationMethod()


Lo había implementado para Android en Xamarin. Entonces, mi código está en C #. Pero el principal se mantiene igual. Puede establecer el atributo de edittext en android:inputType="numberPassword" .

Luego, dentro de su código, adjunte un método de transformación personalizado a su vista de texto de edición.

holder.edtxtQty.TransformationMethod = new HiddenPasswordTransformationMethod(); private class HiddenPasswordTransformationMethod : global::Android.Text.Method.PasswordTransformationMethod { public override Java.Lang.ICharSequence GetTransformationFormatted(Java.Lang.ICharSequence source, View view) { return new PasswordCharSequence(source); } } private class PasswordCharSequence : Java.Lang.Object, Java.Lang.ICharSequence { private char DOT = ''/u2022''; private Java.Lang.ICharSequence _source; public PasswordCharSequence(Java.Lang.ICharSequence source) { _source = source; } public char CharAt(int index) { return _source.CharAt(index); } public int Length() { return _source.Length(); } public Java.Lang.ICharSequence SubSequenceFormatted(int start, int end) { return _source.SubSequenceFormatted(start, end); // Return default } public IEnumerator<char> GetEnumerator() { return _source.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return _source.GetEnumerator(); } }


Solo debe agregar esta línea en su código:

input.setRawInputType(Configuration.KEYBOARD_12KEY);

esto mostrará solo el teclado numérico.


android:inputType="phone" android:digits="1234567890"

es una opción