AndroID Studio点击空白处收起软键盘
//点击空白区域隐藏键盘 @OverrIDe public boolean dispatchtouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { VIEw v = getCurrentFocus(); //当isShouldHIDeinput(v, ev)为true时,表示的是点击输入框区域,则需要显示键盘,同时显示光标,反之,需要隐藏键盘、光标 if (isShouldHIDeinput(v, ev)) { inputMethodManager imm = (inputMethodManager) getSystemService(Context.input_METHOD_SERVICE); if (imm != null) { imm.hIDeSoftinputFromWindow(v.getwindowToken(), 0); //处理Editext的光标隐藏、显示逻辑 // t1.clearFocus(); } } return super.dispatchtouchEvent(ev); } // 必不可少,否则所有的组件都不会有touchEvent了 if (getwindow().superdispatchtouchEvent(ev)) { return true; } return ontouchEvent(ev); } public boolean isShouldHIDeinput(VIEw v, MotionEvent event) { if (v != null && (v instanceof EditText)) { int[] lefttop = { 0, 0 }; //获取输入框当前的location位置 v.getLocationInWindow(lefttop); int left = lefttop[0]; int top = lefttop[1]; int bottom = top + v.getHeight(); int right = left + v.getWIDth(); if (event.getX() > left && event.getX() < right && event.getY() > top && event.getY() < bottom) { // 点击的是输入框区域,保留点击EditText的事件 return false; } else { return true; } } return false; }
总结 以上是内存溢出为你收集整理的Android Studio点击空白处收起软键盘全部内容,希望文章能够帮你解决Android Studio点击空白处收起软键盘所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)