android:imeOptions屬性詳解以及無效處理
軟鍵盤的Enter鍵預設顯示的是“完成”文字,我們知道按Enter建表示前置工作已經準備完畢了,要去什麼什麼啦。比如,在一個搜尋中,我們輸入要搜尋的文字,然後按Enter表示要去搜索了,但是預設的Enter鍵顯示的是“完成”文字,看著不太合適,不符合搜尋的語義,如果能顯示“搜尋”兩個字或者顯示一個表示搜尋的圖示多好。事實證明我們的想法是合理的,Android也為我們提供的這樣的功能。通過設定android:imeOptions來改變預設的“完成”文字。這裡舉幾個常用的常量值:
(1)actionUnspecified未指定,對應常量EditorInfo.IME_ACTION_UNSPECIFIED效果:
(2)actionNone 沒有動作,對應常量EditorInfo.IME_ACTION_NONE效果:
(3)actionGo去往,對應常量EditorInfo.IME_ACTION_GO 效果:
(4)actionSearch 搜尋,對應常量EditorInfo.IME_ACTION_SEARCH效果:
(5)actionSend 傳送,對應常量EditorInfo.IME_ACTION_SEND效果:
(6)actionNext 下一個,對應常量EditorInfo.IME_ACTION_NEXT效果:
(7)actionDone 完成,對應常量EditorInfo.IME_ACTION_DONE效果:
android:imeOptions="flagNoExtractUi" //使軟鍵盤不全屏顯示,只佔用一部分螢幕 同時,
這個屬性還能控制元件軟鍵盤右下角按鍵的顯示內容,預設情況下為回車鍵
android:imeOptions="actionNone" //輸入框右側不帶任何提示
android:imeOptions="actionGo" //右下角按鍵內容為'開始'
android:imeOptions="actionSearch" //右下角按鍵為放大鏡圖片,搜尋
android:imeOptions="actionSend" //右下角按鍵內容為'傳送'
android:imeOptions="actionNext" //右下角按鍵內容為'下一步' 或者下一項
android:imeOptions="actionDone" //右下角按鍵內容為'完成'
注意:如果設定了 鍵盤沒有變化 那麼需要單獨加一些其他的屬性 配合使用
xml中 屬性設定:
1 將singleLine設定為true
2 將inputType設定為text
java程式碼設定- editText.setInputType(EditorInfo.TYPE_CLASS_TEXT);
- editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH);