android 自定义输入框,禁止输入表情符号,或者特殊字符
16lz
2021-01-26
在项目中经常会有一些输入的特殊要求,禁止输入表情符号,禁止输入特殊符号,等等,然而我们在项目中一个一个输入框进行设置,到明年了!
由于后台服务器的关系,不支持保存表情符号,特此自定义一个过表情符号的输入框
内容比较简单。
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}); }}
更多相关文章
- Android运行Socket项目 Error: ShouldNotReachHere()
- Android(安卓)程式开发:(九)使用活动栏 —— 9.3自定义ActionBar项
- Android二维码开源项目zxing编译
- Android(安卓)Studio开发工具的使用
- Android工程的目录结构详解
- Android布局管理器-使用TableLayout表格布局管理器实现简单的用
- Android(安卓)组件化在公用Module里实现多渠道打包配置
- Flutter Android(安卓)Studio开发环境的搭建
- [置顶] cocos2d-x 2.x版本之win32 window移植android 环境搭配