這是一篇關(guān)于Android EditText中的inputType詳解,因?yàn)?a target="_blank" rel="nofollow">Android中inputType屬性在EditText輸入值時(shí)啟動(dòng)的虛擬鍵盤(pán)的風(fēng)格有著重要的作用。這也大大的方便的操作吆录。有時(shí)需要虛擬鍵盤(pán)只為字符或只為數(shù)字澎语。所以inputType尤為重要肩祥。<code>
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="none"
android:inputType="text" //文本類型坞嘀,多為大寫(xiě)郁油、小寫(xiě)和數(shù)字符號(hào)本股。
android:inputType="textCapCharacters" 字母大寫(xiě)
android:inputType="textCapWords" 首字母大寫(xiě)
android:inputType="textCapSentences" 僅第一個(gè)字母大寫(xiě) android:inputType="textAutoCorrect" 自動(dòng)完成
android:inputType="textAutoComplete" 自動(dòng)完成
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" 長(zhǎng)信息
android:inputType="textPersonName" 人名
android:inputType="textPostalAddress" 地址
android:inputType="textPassword" 密碼
android:inputType="textVisiblePassword" 可見(jiàn)密碼
android:inputType="textWebEditText" 作為網(wǎng)頁(yè)表單的文本 android:inputType="textFilter" 文本篩選過(guò)濾
android:inputType="textPhonetic" 拼音輸入
android:inputType="number" 數(shù)字
android:inputType="numberSigned" 帶符號(hào)數(shù)字格式
android:inputType="numberDecimal" 帶小數(shù)點(diǎn)的浮點(diǎn)格式
android:inputType="phone" 撥號(hào)鍵盤(pán)
android:inputType="datetime" 時(shí)間日期
android:inputType="date" 日期鍵盤(pán)
android:inputType="time" 時(shí)間鍵盤(pán)
1.獲得焦點(diǎn)后全選組件內(nèi)所有文本內(nèi)容
當(dāng)我們點(diǎn)擊想當(dāng)我們的輸入框獲得焦點(diǎn)后,不是將光標(biāo)移動(dòng)到文本的開(kāi)始或者結(jié)尾桐腌;而是 獲取到輸入框中所有的文本內(nèi)容的話拄显!這個(gè)時(shí)候我們可以使用selectAllOnFocus屬性
android:selectAllOnFocus="true"
2.設(shè)置最小行的行數(shù):android:minLines="3"
或者設(shè)置EditText最大的行數(shù):android:maxLines="3"
PS:當(dāng)輸入內(nèi)容超過(guò)maxline,文字會(huì)自動(dòng)向上滾動(dòng)!案站!
3.設(shè)置文字間隔躬审,設(shè)置英文字母大寫(xiě)類型
android:textScaleX="1.5" //設(shè)置字與字的水平間隔
android:textScaleY="1.5" //設(shè)置字與字的垂直間隔
4.設(shè)置EditText獲得焦點(diǎn),同時(shí)彈出小鍵盤(pán)
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //強(qiáng)制隱藏鍵盤(pán)
5.EditText光標(biāo)位置的控制
有時(shí)可能需要我們控制EditText中的光標(biāo)移動(dòng)到指定位置或者選中某些文本!EditText為我們提供了setSelection()的方法承边,方法有兩種形式:
setSelection(int index);
setSelection(int start,int stop);
一個(gè)參數(shù)的是設(shè)置光標(biāo)位置的遭殉,兩個(gè)參數(shù)的是設(shè)置起始位置與結(jié)束位置的中間括的部分,即部分選中博助!當(dāng)然我們也可以調(diào)用setSelectAllOnFocus(true);讓EditText獲得焦點(diǎn)時(shí)選中全部文本险污!另外我們還可以調(diào)用setCursorVisible(false);設(shè)置光標(biāo)不顯示還可以調(diào)用getSelectionStart()和getSelectionEnd獲得當(dāng)前光標(biāo)的前后位置