在项目中经常会有一些输入的特殊要求,禁止输入表情符号,禁止输入特殊符号,等等,然而我们在项目中一个一个输入框进行设置,到明年了!

由于后台服务器的关系,不支持保存表情符号,特此自定义一个过表情符号的输入框

内容比较简单。

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});    }}

更多相关文章

  1. Android运行Socket项目 Error: ShouldNotReachHere()
  2. Android(安卓)程式开发:(九)使用活动栏 —— 9.3自定义ActionBar项
  3. Android二维码开源项目zxing编译
  4. Android(安卓)Studio开发工具的使用
  5. Android工程的目录结构详解
  6. Android布局管理器-使用TableLayout表格布局管理器实现简单的用
  7. Android(安卓)组件化在公用Module里实现多渠道打包配置
  8. Flutter Android(安卓)Studio开发环境的搭建
  9. [置顶] cocos2d-x 2.x版本之win32 window移植android 环境搭配

随机推荐

  1. Android TV 智能电视/盒子 APP 开发焦点
  2. Android简单自定义布局介绍
  3. Android RIL使用详解
  4. 声波通信原理及源代码
  5. Android快速启动要点总结
  6. Android系统和linux内核的关系详解
  7. AndroidMediaRecorder架构详解
  8. android 源代码获取
  9. android开发图片小技巧
  10. Android 2.3 Gallery3D添加gif支持——概