很多網友可能在開發Android時發現EditText有時候需要限制用戶輸入的內容,通常我們可以使用正則表達式直接限制,但是Android 已經爲我們準備好了EditText的輸入類型,這樣的比正則要有以下幾點優勢:
- 開發更簡單,執行速度高效。
- 輸入法默認會根據情況變動,比如說設置爲numeric後輸入法會自動僅顯示數字,不會出現Qwerty中的字母。
下面我們通過EditText的layout xml文件中的相關屬性來實現:
- 密碼框屬性 android:password="true" 這條可以讓EditText顯示的內容自動爲 星號,輸入時內容會在1秒內變成*字樣。
- 純數字 android:numeric="integer" 這條可以讓輸入法自動變爲數字輸入鍵盤,同時僅允許0-9的數字輸入。
- android:phoneNumber="true" 僅允許輸入電話號碼。
- android:autoLink="all" 自動實現超鏈接。
- 僅允許 android:capitalize="kilo1980" 這樣僅允許接受輸入"k i l o 1 9 8 0",一般用於密碼驗證
下面是一些擴展的風格屬性:
- android:editable="false" 設置EditText不可編輯
- android:singleLine="true" 強制輸入的內容在單行
- android:ellipsize="end" 自動隱藏尾部溢出數據,一般用於文字內容過長一行無法全部顯示時。