Android限制EditText输入Emoji表情
限制EditText输入Emoji表情这是最近接到需求,运用场景是App内部的搜索,主要是接口不支持用Emoji查询。我就研究了一下怎么去限制Emoji表情,分享一下的我的代码,希望对有同样需求的童鞋有帮助。
创建一个过滤器:
public class EmojiFilter implements InputFilter {
public CharSequence filter(CharSequence source, int i, int i1, Spanned spanned, int i2, int i3) {
Pattern pattern = Pattern.compile(
"[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",
Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(source);
if (matcher.find()) {
return "";
}
return null;
}
}
使用方法:
editText.filters = arrayOf<InputFilter>(EmojiFilter())
通过上面的代码就可以实现限制Emoji表情的输入了。
评论