EditText的inputType限制

Android QQ交流群:826464336

 

开发过程中,EditText是和用户交互的一个重要过程,总是不可少的,有些时候又不想让用户任意输入内容,减少不必要的麻烦(bug),这是我们往往有两种方案,1:自定义键盘;2:制定输入限制规则;说白了,让你输入啥你就得输入啥;

一种方案是在布局文件设置:

 

android:inputType="textPassword"
android:digits="0123456789abcdefghigklmnopqrstuvwxyz"

另一种是在代码里面设置InputType:

 

public interface InputType {
    int TYPE_CLASS_DATETIME = 4;
    int TYPE_CLASS_NUMBER = 2;
    int TYPE_CLASS_PHONE = 3;
    int TYPE_CLASS_TEXT = 1;
    int TYPE_DATETIME_VARIATION_DATE = 16;
    int TYPE_DATETIME_VARIATION_NORMAL = 0;
    int TYPE_DATETIME_VARIATION_TIME = 32;
    int TYPE_MASK_CLASS = 15;
    int TYPE_MASK_FLAGS = 16773120;
    int TYPE_MASK_VARIATION = 4080;
    int TYPE_NULL = 0;
    int TYPE_NUMBER_FLAG_DECIMAL = 8192;
    int TYPE_NUMBER_FLAG_SIGNED = 4096;
    int TYPE_NUMBER_VARIATION_NORMAL = 0;
    int TYPE_NUMBER_VARIATION_PASSWORD = 16;
    int TYPE_TEXT_FLAG_AUTO_COMPLETE = 65536;
    int TYPE_TEXT_FLAG_AUTO_CORRECT = 32768;
    int TYPE_TEXT_FLAG_CAP_CHARACTERS = 4096;
    int TYPE_TEXT_FLAG_CAP_SENTENCES = 16384;
    int TYPE_TEXT_FLAG_CAP_WORDS = 8192;
    int TYPE_TEXT_FLAG_IME_MULTI_LINE = 262144;
    int TYPE_TEXT_FLAG_MULTI_LINE = 131072;
    int TYPE_TEXT_FLAG_NO_SUGGESTIONS = 524288;
    int TYPE_TEXT_VARIATION_EMAIL_ADDRESS = 32;
    int TYPE_TEXT_VARIATION_EMAIL_SUBJECT = 48;
    int TYPE_TEXT_VARIATION_FILTER = 176;
    int TYPE_TEXT_VARIATION_LONG_MESSAGE = 80;
    int TYPE_TEXT_VARIATION_NORMAL = 0;
    int TYPE_TEXT_VARIATION_PASSWORD = 128;
    int TYPE_TEXT_VARIATION_PERSON_NAME = 96;
    int TYPE_TEXT_VARIATION_PHONETIC = 192;
    int TYPE_TEXT_VARIATION_POSTAL_ADDRESS = 112;
    int TYPE_TEXT_VARIATION_SHORT_MESSAGE = 64;
    int TYPE_TEXT_VARIATION_URI = 16;
    int TYPE_TEXT_VARIATION_VISIBLE_PASSWORD = 144;
    int TYPE_TEXT_VARIATION_WEB_EDIT_TEXT = 160;
    int TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS = 208;
    int TYPE_TEXT_VARIATION_WEB_PASSWORD = 224;
}

一脸蒙逼,这是啥?难道要一个一个试试?

 

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" 时间键盘

这就不用纠结了,那里需要用哪里!

 

 

 

你可能感兴趣的:(香蕉---工具类)