资讯专栏INFORMATION COLUMN

Android EditText禁止输入Emoji后设置android:maxLength失效的问题

pepperwang / 1814人阅读

摘要:禁用有时候我们不想在中输入表情,怎么处理呢我们可以通过设置的方式来达到这个目的。问题但是当我们设置了之后可能会出现一个问题,就是当我们在代码中设置的时候,会发现不起作用了。我们点进去,查看其源码我们就会发现,里面还有个自带的。

0X00 禁用emoji

有时候我们不想在EditText中输入Emoji表情,怎么处理呢?
我们可以通过设置InputFilter的方式来达到这个目的。怎么实现呢?直接上代码。

public InputFilter emojiFilter = new InputFilter() {

        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            for (int index = start; index < end; index++) {

                int type = Character.getType(source.charAt(index));

                if (type == Character.SURROGATE) {
                    return "";
                }
            }
            return null;
        }
    };
0X01 问题

但是当我们设置了InputFilter之后可能会出现一个问题,就是当我们在代码中设置 android:maxLength="8"的时候,会发现不起作用了。我们点进去InputFilter,查看其源码我们就会发现,里面还有个自带的LengthFilter。我们就可以通过再添加一个LengthFileter就可以了。

 editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(8), emojiFilter})

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/13572.html

相关文章

  • Android 基本控件常用属性

    摘要:保持原图的大小,显示在的中心,原图超过的部分剪裁。当原图宽高或等于的宽高时,按原图大小居中显示反之将原图等比例缩放至的宽高并居中显示。按比例拉伸图片,拉伸后图片的高度为的高度,且显示在的上边。TextView //normal 默认 bold 粗体 italic斜体 可用| 多选 android:textStyle //设置限定可以输入哪些字符 android:digits //设置文...

    URLOS 评论0 收藏0
  • 老司机带你吃牛轧糖 - 适配 Android 7.1 Nougat 新特性

    摘要:否则会抛出相应的异常。在较早版本的系统中,软键盘例如我们所熟知的,或者说,只能够给应用发送编码的,对于,应用只能通过使用自建的私有的实现发送图片的功能。读取这个在软键盘中支持类型和展示内容的列表。回调在提交内容是被执行。 Whats new in Android 7.1 Nougat? Android 7.1 Nougat 已经推出有一段时间,相信大多数人和我一样,并没有用上最新的系统...

    Moxmi 评论0 收藏0
  • Android之自定义EditText光标和下划线颜色

    摘要:自定义光标颜色有一个属性,它就是用来设置光标样式的。在中再增加一个,加上属性,效果如下可以看到,光标和下划线的颜色都会修改掉,而间距还是会保留。光标和下划线之间要有点距离,所以的下方内边距设为。 最近在写些小Demo复习基础,在用到EditText的时候突然发现之前几乎没有注意到它的光标和下划线的颜色,于是花了不少时间,看了不少博客,现在就来总结和分享一下收获。 1、第一印象:原生的E...

    cppprimer 评论0 收藏0
  • 见与不见,你说了算:Android设置密码是否可见

    摘要:换成后,我们就不用声明布尔值变量,而是直接可以调用的监听事件选中,显示明文取消选中,显示暗文光标移至最末端这里我们使用了第二种方法来设置密码是否可见调用方法来改变的输入状态。 我们在注册或者登录App时,难免会需要输入密码。有时候我们身旁可能有其他人在,为了不让密码赤裸裸地暴露在他人眼皮底下,密码字符串通常会默认显示为暗文(也就是星号或者圆点)。但还有一种情况是我们在输入密码时有时会小...

    lanffy 评论0 收藏0
  • Android网络编程之Socket

    摘要:面向字节流流,指的是流入到进程或从进程流出的字符序列。即收到连接信息后向返回确认信息第三次握手客户端收到服务器的报文段,并向服务器发送报文段。 前言 Socket的使用在 Android网络编程中非常重要 今天我将带大家全面了解 Socket 及 其使用方法 目录 showImg(https://segmentfault.com/img/remote/14600000113508...

    The question 评论0 收藏0

发表评论

0条评论

pepperwang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<