在项目中经常会有一些输入的特殊要求,禁止输入表情符号,禁止输入特殊符号,等等,然而我们在项目中一个一个输入框进行设置,到明年了!
由于后台服务器的关系,不支持保存表情符号,特此自定义一个过表情符号的输入框
内容比较简单。
public class ForbidEmojiEditText extends android.support.v7.widget.AppCompatEditText { public ForbidEmojiEditText(Context context) { super(context); } public ForbidEmojiEditText(Context context, AttributeSet attrs) { super(context, attrs); } public ForbidEmojiEditText(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public void setFilters(InputFilter[] filters) { InputFilter emojiFilter = new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { Pattern emoji = Pattern.compile( "[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]", Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE); Matcher emojiMatcher = emoji.matcher(source); if (emojiMatcher.find()) { return ""; } return null; } }; super.setFilters(new InputFilter[]{emojiFilter}); } }