使用Android中的EditText小部件进行屏蔽输入

Buz*_*zzy 18 android mask android-edittext

有没有办法可以为Android中的EditText控件指定输入掩码?

我希望能够为社会安全号码指定类似### - ## - ####的内容.这将导致任何无效输入被自动拒绝(例如,我键入字母字符而不是数字数字).

我意识到我可以添加一个OnKeyListener并手动检查有效性.但这很乏味,我将不得不处理各种边缘情况.

嗡嗡

Dav*_*ebb 22

尝试使用InputFilter而不是OnKeyListener.这意味着您不必担心跟踪单个按键操作,它也会处理粘贴到某个字段中的操作,这样会很难处理OnKeyListener.

您可以查看Android附带InputFilter实现来源,为您提供编写自己实现的起点.

  • 链接坏了. (8认同)

Sla*_*ava 8

我知道在 Android Studio 的 Android 程序中使用 EditText 掩码的最简单方法是使用MaskedEditText库(GitHub 链接)。这是一种带有 Watcher 的自定义 EditText,它允许您设置具有不同颜色的提示(如果您愿意,即使用户已经开始输入,它也可用),遮罩,并且非常易于使用 :-)

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"
    />
Run Code Online (Sandbox Code Playgroud)

那就是!

在此处输入图片说明