如何在android中显示和隐藏键盘。例如,当我点击editText键盘时应该显示,当我点击edittext键盘外面时,应该隐藏。
答案 0 :(得分:13)
试试吧..
InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
隐藏键盘
imm.hideSoftInputFromWindow(ed.getWindowToken(), 0);
用于显示键盘
imm.showSoftInput(ed, 0);
其中ed是EditText ..
答案 1 :(得分:5)
我一直在使用 showSoftInput 一段时间,但我也发现了这个替代品 它模拟使用 dispatchTouchEvent :
点击EditText ed.requestFocus();
ed.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0));
ed.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, 0, 0, 0));
虽然没有注意到任何差异......