修改对应状态
android:singleLine="true"
android:imeOptions="actionSearch"
如果不加 android:singleLine=“true” 是不会看到效果的
其中actionSearch 是搜索样式,其他样式介绍如下
(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
绑定点击事件
参考如下代码
EditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
//点击搜索的时候隐藏软键盘
hideKeyboard(EditText);
// 在这里写搜索的操作,一般都是网络请求数据
return true;
}
return false;
}
});
/**
* 隐藏软键盘
* @param context :上下文
* @param view :一般为EditText
*/
public void hideKeyboard(View view) {
InputMethodManager manager = (InputMethodManager) view.getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
manager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}