這是一篇關于Android EditText中的inputType詳解,因為Android中inputType屬性在EditText輸入值時啟動的虛擬鍵盤的風格有著重要的作用。這也大大的方便的操作。有時需要虛擬鍵盤只為字符或只為數字。所以inputType尤為重要。<code>
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
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" 時間鍵盤
1.獲得焦點后全選組件內所有文本內容
當我們點擊想當我們的輸入框獲得焦點后,不是將光標移動到文本的開始或者結尾;而是 獲取到輸入框中所有的文本內容的話!這個時候我們可以使用selectAllOnFocus屬性
android:selectAllOnFocus="true"
2.設置最小行的行數:android:minLines="3"
或者設置EditText最大的行數:android:maxLines="3"
PS:當輸入內容超過maxline,文字會自動向上滾動!!
3.設置文字間隔,設置英文字母大寫類型
android:textScaleX="1.5" //設置字與字的水平間隔
android:textScaleY="1.5" //設置字與字的垂直間隔
4.設置EditText獲得焦點,同時彈出小鍵盤
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //強制隱藏鍵盤
5.EditText光標位置的控制
有時可能需要我們控制EditText中的光標移動到指定位置或者選中某些文本!EditText為我們提供了setSelection()的方法,方法有兩種形式:
setSelection(int index);
setSelection(int start,int stop);
一個參數的是設置光標位置的,兩個參數的是設置起始位置與結束位置的中間括的部分,即部分選中!當然我們也可以調用setSelectAllOnFocus(true);讓EditText獲得焦點時選中全部文本!另外我們還可以調用setCursorVisible(false);設置光標不顯示還可以調用getSelectionStart()和getSelectionEnd獲得當前光標的前后位置