簡單記錄常用的使用限制。
設(shè)置EditText的inputType
可以設(shè)置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” 網(wǎng)址
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” 作為網(wǎng)頁表單的文本
android:inputType=”textFilter” 文本篩選過濾
android:inputType=”textPhonetic” 拼音輸入
//數(shù)值類型
android:inputType=”number” 數(shù)字
android:inputType=”numberSigned” 帶符號數(shù)字格式
android:inputType=”numberDecimal” 帶小數(shù)點(diǎn)的浮點(diǎn)格式
android:inputType=”phone” 撥號鍵盤
android:inputType=”datetime” 時間日期
android:inputType=”date” 日期鍵盤
android:inputType=”time” 時間鍵盤
限制輸入字符數(shù)maxLength
maxLength可以設(shè)置edittext最大輸入的字符數(shù)限制,但是中文也算一個字符。
如果需要限制字節(jié)長度時,可以在輸入后通過str.getBytes().length判斷字節(jié)長度;或者實(shí)現(xiàn)TextWatcher,通過afterTextChange方法刪除超過限制的輸入。
限制輸入字符digits
也可以設(shè)置digits限制輸入字符,示例
//如只能輸入數(shù)字和英文
android:digits="0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
//身份證限制
android:inputType="number" //默認(rèn)展示數(shù)字,可切換到字母鍵盤輸入
android:digits="0123456789xyzXYZ"