軟鍵盤回車鍵不同的處理

開發(fā)中少不了對EditText控件的使用,彈出的軟鍵盤右下角有個回車鍵,這個回車鍵有時顯示的是“搜索”,有時顯示的是“do”,這個可以在EditText中進(jìn)行配置,通過android:imeOptions=""屬性實(shí)現(xiàn)想要的效果。

EditText

從上圖中可以看到通過這個屬性能配置很多不同的樣式,一一介紹一下,舉一個應(yīng)用場景:

1、actionSearch——字面意思就是搜索,這種配置使得鍵盤左下方變?yōu)椤八阉鳌弊謽踊蛩阉鲌D標(biāo),在一些搜索框場景經(jīng)常用到;
2、actionSend——字面意思就是發(fā)送,這種配置one使得鍵盤左下方變?yōu)椤鞍l(fā)送”字樣或發(fā)送圖標(biāo),在一些聊天頁面輸入框經(jīng)常用到;
3、actionDone——字面意思就是執(zhí)行,這種配置使得鍵盤左下方變?yōu)榛剀噲D標(biāo);
4、actionGo——字面意思就是開始、出發(fā),這種配置使得鍵盤左下方變?yōu)椤伴_始”字樣或開始圖標(biāo);
5、actionNext——字面意思就是下一個,這種配置使得鍵盤左下方變?yōu)椤跋乱徊健弊謽踊驁D標(biāo),在有多個輸入框的地方經(jīng)常會用到;
6、actionNone——字面意思就是啥也沒有,這種配置使得鍵盤左下方變?yōu)榛剀噲D標(biāo);
7、actionPrevious——字面意思就是前一個,這種配置使得鍵盤左下方變?yōu)榛剀噲D標(biāo),如果存在多個輸入框,那么點(diǎn)擊光標(biāo)則會跳到上一個輸入框,和actionNext相反的效果;
8、actionUnspecified——字面意思就是沒有特殊意義、未指定,這種配置使得鍵盤左下方回車圖標(biāo);

具體樣式效果,可以在用的時候設(shè)置不同的action試試,上面看了屬性設(shè)置,下面來看看不同設(shè)置的點(diǎn)擊響應(yīng)事件:

binding.searchEt.setOnEditorActionListener { v, actionId, event ->
      /*
        EditorInfo.IME_ACTION_SEARCH、EditorInfo.IME_ACTION_SEND等分別對應(yīng)EditText的imeOptions屬性
     */
     if (actionId == EditorInfo.***) {
         //TODO 回車鍵按下時要執(zhí)行的操作
         ...
         return@setOnEditorActionListener true
     }
     return@setOnEditorActionListener false
}

以上就完成了對軟鍵盤回車鍵的改變,并對回車鍵點(diǎn)擊事件的響應(yīng),完成自己業(yè)務(wù)上的邏輯就行。

踩坑一:設(shè)置android:imeOptions屬性時還得添加屬性android:singleLine="true",否則不生效,此時點(diǎn)擊回車鍵是執(zhí)行的換行。

總結(jié):寫這篇文章出于兩點(diǎn)目的,一是記錄使用方法,加深印象;二是在用的過程中踩了個坑,所以記錄一下。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容