最近,在开发的过程中遇到了把软键盘上的回车变成搜索按钮,这个也就算了,万恶的客户说,我点击了搜索,要自动把软键盘隐藏掉(醉了,你自己没手啊),没办法,客户是上帝啊,整呗,在此总结一下。。。
1,关于Android软键盘的设置
关于软键盘上的回车键变成什么状态,其实就是在xml文件中对Edittext控件进行属性设置,有多种
android:imeOptions="actionNone" //输入框右侧不带任何提示 android:imeOptions="actionGo" //右下角按键内容为'开始' android:imeOptions="actionSearch" //右下角按键为放大镜图片,搜索 android:imeOptions="actionSend" //右下角按键内容为'发送' android:imeOptions="actionNext" //右下角按键内容为'下一步' 或者下一项 android:imeOptions="actionDone" //右下角按键内容为'完成'2,关于软键盘的监听
@Override public boolean onKey(View v, int keyCode, KeyEvent event) { ///event.getAction() == KeyEvent.ACTION_UP,这个是为了防止if里面执行2次 if (keyCode == KeyEvent.KEYCODE_ENTER&& event.getAction() == KeyEvent.ACTION_UP) { } return false; }3,关于软键盘的隐藏
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); // 获取软键盘的显示状态 boolean isOpen=imm.isActive(); // 如果软键盘已经显示,则隐藏,反之则显示 imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); // 隐藏软键盘 imm.hideSoftInputFromWindow(view, InputMethodManager.HIDE_NOT_ALWAYS); // 强制显示软键盘 imm.showSoftInput(view,InputMethodManager.SHOW_FORCED); // 强制隐藏软键盘 imm.hideSoftInputFromWindow(view.getWindowToken(), 0);