最近项目中遇到个不让Edittext输入Emjoy表情的需求,查找很多资料后最后用CSDN上一个哥们的方法解决
EditText et = (EditText)findViewById(R.id.et);
et.setFilters(new InputFilter[]{emojiFilter});
/**
* 过滤emoj表情
*/
InputFilter emojiFilter = new InputFilter() {
Pattern emoji = Pattern
.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart,int dend) {
Matcher emojiMatcher = emoji.matcher(source);
if (emojiMatcher.find()) {
return "";
}
return null;
}
};
参考http://blog.csdn.net/zhuyaozong/article/details/49362515?ticket=ST-22715-kSTJu2jJcffofXkBhwMV-passport.csdn.net