您的位置:首页 > 移动开发 > Android开发

android中点击空白处隐藏软键盘

2016-12-22 18:07 465 查看
================================================================================================================================很多时候,我们在使用应用时,会出现输入法软键盘弹出的问题,通常情况下,我们默认会使用户点击返回键或者下一步对软键盘进行隐藏。为了更好的体验,我们可以实现当用户使用完毕软键盘时。点击空白区域即可实现隐藏的功能。效果如图所示:


代码实现

简单方法:重写onTouchEvent方法进行隐藏监听EditText---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1、方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)[java] view
plain copyprint?InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);2、方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示)[java] view
plain copyprint?InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);[java] view
plain copyprint?imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘3、调用隐藏系统默认的输入法[java] view
plain copyprint?((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); (WidgetSearchActivity是当前的Activity)4、获取输入法打开的状态[java] view
plain copyprint?InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);boolean isOpen=imm.isActive();//isOpen若返回true,则表示输入法打开
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: