安卓EditText呼叫輸入法的搜尋按鈕
阿新 • • 發佈:2019-01-08
前幾天發現專案裡的輸入框搜尋按鈕沒有與輸入法裡的同步起來,這樣會造成使用的不方便,於是把專案裡所有的輸入框全部同步上了搜尋按鈕,在這裡順便也寫一下
其實這個同步輸入法的搜尋很簡單,主要的設定都在edittext上,首先在xml檔案裡設定edittext的屬性:
這個屬性是讓按鈕變成搜尋的樣式,你也可以設定其他引數,例如actionDone、actionNext等等,然後再新增
這裡是為了保證點選不換行而做的操作
xml檔案處理完了,接下來就可以直接在activity裡寫監聽了,
如此便可以達到效果了,當然如果你的editText是動態建立的,那麼就無法從xml裡給editText設定引數了,但我們可以動態的給新增
其實這個同步輸入法的搜尋很簡單,主要的設定都在edittext上,首先在xml檔案裡設定edittext的屬性:
android:imeOptions="actionSearch"
這個屬性是讓按鈕變成搜尋的樣式,你也可以設定其他引數,例如actionDone、actionNext等等,然後再新增
android:singleLine="true"
這裡是為了保證點選不換行而做的操作
xml檔案處理完了,接下來就可以直接在activity裡寫監聽了,
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) { if (i == EditorInfo.IME_ACTION_SEARCH || i == EditorInfo.IME_ACTION_UNSPECIFIED) { //此處做邏輯處理 return true; } return false; } });
如此便可以達到效果了,當然如果你的editText是動態建立的,那麼就無法從xml裡給editText設定引數了,但我們可以動態的給新增
EditText editText=new EditText(this);
editText.setSingleLine();
editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
接下來呼叫監聽事件一樣可以達到效果