注:整理來源包括網絡以及本身開發,可能不徹底正確或者最合理,僅供參考。
html
1、inputType屬性 java
inputType屬性在EditText輸入值時啓動的虛擬鍵盤的風格有着重要的做用。好比有時須要虛擬鍵盤只爲字符或只爲數字。 android
<EditText //電話號碼 android:inputType="phone" //文本類型,多爲大寫、小寫和數字符號。 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="datetime" //時間日期 android:inputType="date" //日期鍵盤 android:inputType="time" //時間鍵盤 />
2、imeOptions屬性 網絡
當咱們手機橫屏,且使用Android自帶的軟鍵盤爲EditText進行文本輸入時,若不進行特殊的設置,該軟鍵盤會佔用整個界面,那麼,如何讓鍵盤只佔用屏幕的一部分呢? 其實只須要改一個小小的屬性便可! ide
<EditText android:id="@+id/text1" android:imeOptions="flagNoExtractUi"/>
另外使用android:imeOptinos可對Android自帶的軟鍵盤進行一些界面上的設置: this
android:imeOptions="flagNoExtractUi" //使軟鍵盤不全屏顯示,只佔用一部分屏幕 同時,這個屬性還能控件軟鍵盤右下角按鍵的顯示內容,默認狀況下爲回車鍵 android:imeOptions="actionNone" //輸入框右側不帶任何提示 android:imeOptions="actionGo" //右下角按鍵內容爲'開始' android:imeOptions="actionSearch" //右下角按鍵爲放大鏡圖片,搜索 android:imeOptions="actionSend" //右下角按鍵內容爲'發送' android:imeOptions="actionNext" //右下角按鍵內容爲'下一步' android:imeOptions="actionDone" //右下角按鍵內容爲'完成'
同時,可能EditText添加相應的監聽器,捕捉用戶點擊了軟鍵盤右下角按鈕的監聽事件,以便進行處理。 spa
editText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { Toast.makeText(MainActivity.this, "text2", Toast.LENGTH_SHORT).show(); return false; } });