EditText禁止输入表情符号

因项目需求,需要禁止用户输入表情符号,个人认为方式有俩种。

第一种键盘弹出不显示表情选项(失败,因为每个手机的Rom烧制都是固定的,很难去操作,主要是水平有限);

第二种,显示表情选项,但是输入之后EditText不做处理,不会进行展示,这样我们传输的时候就不会出现错误;

查询一些网上的处理方案,有的朋友是通过一些正则去过滤,有的是通过自定义类去做处理,当然应该都是通过校验实现的,这里我在Github找到了一个自定义控件,内置表情处理,可以直接拿来用,但是要详情使用的话,最好熟悉一下对应的属性信息。

作者介绍:

带删除功能的EditText;显示或者隐藏密码;可设置自动添加分隔符分割电话号码、银行卡号等;支持禁止Emoji表情符号输入

原作者Github地址:

https://github.com/woxingxiao/XEditText

以下是一些EditText限制属性

EditText限制输入信息(有数字,密码等,但不包含表情):

android:inputType=""

如:

android:inputType="none"  
android:inputType="text"  
android:inputType="textCapCharacters"  
android:inputType="textCapWords"  
android:inputType="textCapSentences"  
android:inputType="textAutoCorrect"  
android:inputType="textAutoComplete"  
android:inputType="textMultiLine"  
android:inputType="textImeMultiLine"  
android:inputType="textNoSuggestions"  
android:inputType="textUri"  
android:inputType="textEmailAddress"  
android:inputType="textEmailSubject"  
android:inputType="textShortMessage"  
android:inputType="textLongMessage"  
android:inputType="textPersonName"  
android:inputType="textPostalAddress"  
android:inputType="textPassword"  
android:inputType="textVisiblePassword"  
android:inputType="textWebEditText"  
android:inputType="textFilter"  
android:inputType="textPhonetic" 

android:inputType="number"  
android:inputType="numberSigned"  
android:inputType="numberDecimal" 
android:inputType="phone"
android:inputType="datetime"  
android:inputType="date"
android:inputType="time"

使用方式

build :

  compile 'com.xw.repo:xedittext:1.0.6@aar'

Layout (父布局加入命名空间):

  xmlns:app="http://schemas.android.com/apk/res-auto"

EditText(所用代码):

 

禁止表情:

app:x_disableEmoji="true"

一键清除:

 app:x_disableClear="true"

hint显示位置:

android:gravity="top"

取消Edit原有的下划线背景:

android:background="@null"

 

你可能感兴趣的:(控件)