Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Entrada enmascarada usando el Widget EditText en Android

¿Hay alguna manera de especificar una máscara de entrada para el control EditText en Android?

Quiero ser capaz de especificar algo como ### – ## – #### para un número de seguro social. Esto hará que cualquier entrada inválida sea rechazada automáticamente (por ejemplo, escribo los caracteres alfabéticos en lugar de los dígitos numéricos).

Me doy cuenta de que puedo agregar un OnKeyListener y verificar manualmente su validez. Pero esto es tedioso y tendré que manejar varios casos de borde.

Buzzy

  • UIImageView para mostrar el progreso de carga de la aplicación
  • Cómo enmascarar un EditText para mostrar el formato de fecha dd / mm / aaaa
  • Android - ¿Es posible declarar una máscara alfa directamente dentro de la definición de la capa-lista XML?
  • ¿Por qué la vista personalizada no invalida?
  • Multitouch para Android y getActionMasked ()
  • Color de la máscara de mapa de bits Android, quitar el color
  • 6 Solutions collect form web for “Entrada enmascarada usando el Widget EditText en Android”

    Intente usar un InputFilter lugar de un OnKeyListener . Esto significa que usted no tiene que preocuparse por el seguimiento de pulsaciones de teclas individuales y también se encargará de cosas como pegar en un campo que sería doloroso para manejar con un OnKeyListener .

    Podría echar un vistazo a la fuente de las implementaciones de InputFilter que vienen con Android para darle un punto de partida para escribir su propio.

    Podría echar un vistazo a la clase android.telephony.PhoneNumberFormattingTextWatcher. Enmascara una entrada de texto de número de teléfono con el patrón ### – ### – ####.

     String phoneNumber = "1234567890"; String text = String.valueOf( android.telephony.PhoneNumberUtils.formatNumber(phoneNumber) ); //formatted: 123-456-7890 editTextMobile.setText(text); //set editText text equal to new formatted number editTextMobile.setSelection(text.length()); //move cursor to end of editText view 

    Utilice esto en una función onKey para el delicioso sexo de conejito en la mosca con números de teléfono formateados.

    La manera más fácil que conozco de usar una máscara en EditText en tus programas Android en Android Studio es usar la biblioteca MaskedEditText ( enlace GitHub ). Es una especie de EditText personalizado con Watcher que te permite establecer una pista con color diferente (si quieres que esté disponible incluso cuando el usuario ya ha empezado a escribir), la máscara y es muy fácil de usar 🙂

     compile 'ru.egslava:MaskedEditText:1.0.5' <br.com.sapereaude.maskedEditText.MaskedEditText android:id="@+id/phone_input" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="phone" android:typeface="monospace" mask:allowed_chars="1234567" mask:mask="###-##-##" app:keep_hint="true" /> 

    ¡Y eso es!

    Introduzca aquí la descripción de la imagen

    Este sitio da un buen 2 clases que ayudan con el enmascaramiento que me pareció bastante útil.

    Es necesario utilizar los elementos de los comentarios para mejorarlo. Pero vale la pena agregar a su programa para la facilidad de enmascarar sus vistas de edición para muchas máscaras.

    Puedes usar este efecto en EditText

    Introduzca aquí la descripción de la imagen

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.