EditText是可编辑控件,往往会为它添加监听,在软键盘上也会有行为。
1、隐藏软键盘
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUTMETHODSERVICE);
imm.hideSoftInputFromWindow(mEditText.getWindowToken(),0);
2、EditText设置一个onEditorActionListener
mEditText..setOnEditorActionListener(new OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId,KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
// 在这里编写自己想要实现的功能
imm.hideSoftInputFromWindow(ET_Search.getWindowToken(), 0); // 强制隐藏键盘
}
return false;
}
});
3、软键盘的Enter有默认值,我们可以自己去控制,利用android:imeOptions来改变默认的文本。
常用的常量值:
- actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED
- actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE
- actionGo 去往,对应常量EditorInfo.IME_ACTION_GO
- actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH
- actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND
- actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT
- actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE