如何在安卓系统中显示和隐藏键盘。例如,当我点击editText时,键盘应该显示出来,而当我点击edittext外部时,键盘应该隐藏起来。
试着去做吧...
InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
隐藏键盘
imm.hideSoftInputFromWindow(ed.getWindowToken(), 0);
显示键盘 imm.showSoftInput(ed, 0);
ed是一个EditText对象...
我一段时间以来一直在使用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));
尽管如此,我并没有注意到任何区别...