iPhone上在使用键盘输入时,在非输入框位置(即空白区域)点击,键盘会收起来。之前在Android上没有实现过这儿效果,首先想到的是在最外层布局文件上添加onclik事件,由于子view会优先处理事件,所以在点击其他地方时隐藏键盘,但百度之后发现另一种做法:
private InputMethodManager manager=null;
manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);?
?@Override
?public boolean onTouchEvent(MotionEvent event) {
? // TODO Auto-generated method stub
? if (event.getAction() == MotionEvent.ACTION_DOWN) {
? ?if (getCurrentFocus() != null
? ? ?&& getCurrentFocus().getWindowToken() != null) {
? ? manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
? ?}
? }
? return super.onTouchEvent(event);
?}
原来InputMethodManager中已经有对这个事件的处理了。