
圖片來源于網(wǎng)絡(luò)
限制EditText輸入Emoji表情這是最近接到需求,運(yùn)用場景是App內(nèi)部的搜索,主要是接口不支持用Emoji查詢。我就研究了一下怎么去限制Emoji表情,分享一下的我的代碼,希望對(duì)有同樣需求的小伙伴有幫助。
創(chuàng)建一個(gè)過濾器
public class EmojiFilter implements InputFilter {
@Override
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())
通過上面的代碼就可以實(shí)現(xiàn)限制Emoji表情的輸入了。