1. 程式人生 > >android:imeOptions屬性詳解以及無效處理

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程式碼設定
  1. editText.setInputType(EditorInfo.TYPE_CLASS_TEXT);  
  2. editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH);