全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 点击屏幕空白处收起输入法软键盘(手动打开)

很多时候,我们在使用应用时,会出现输入法软键盘弹出的问题,通常情况下,我们默认会使用户点击返回键或者下一步对软键盘进行隐藏。为了更好的体验,我们可以实现当用户使用完毕软键盘时。点击屏幕空白区域即可实现收起输入法软键盘功能。下面给大家介绍下实现方法。

1、//隐藏软键盘  

 在Java文件:

InputMethodManager m = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
  m .hideSoftInputFromWindow(xxxx.getWindowToken(), 0);//比如EditView

或者是:

在Manifest.xml的activity中写上:Android:windowSoftInputMode="stateHidden表示打开activity隐藏输入法。

2、//显示软键盘,控件ID可以是EditText,TextView  

((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showSoftInput(控件ID, 0); 

3、不自动弹出键盘:

最理想的实现方式:

public class HomeActivity extends Activity { 
 ...... 
 @Override 
 public boolean dispatchTouchEvent(MotionEvent ev) { 
 if (ev.getAction() == MotionEvent.ACTION_DOWN) { 
  // 获得当前得到焦点的View,一般情况下就是EditText(特殊情况就是轨迹求或者实体案件会移动焦点) 
  View v = getCurrentFocus(); 
  if (isShouldHideInput(v, ev)) { 
  hideSoftInput(v.getWindowToken()); 
  } 
 } 
 return super.dispatchTouchEvent(ev); 
 } 
 /** 
 * 根据EditText所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘,因为当用户点击EditText时没必要隐藏 
 * 
 * @param v 
 * @param event 
 * @return 
 */ 
 private boolean isShouldHideInput(View v, MotionEvent event) { 
 if (v != null && (v instanceof EditText)) { 
  int[] l = { 0, 0 }; 
  v.getLocationInWindow(l); 
  int left = l[0], top = l[1], bottom = top + v.getHeight(), right = left 
   + v.getWidth(); 
  if (event.getX() > left && event.getX() < right 
   && event.getY() > top && event.getY() < bottom) { 
  // 点击EditText的事件,忽略它。 
  return false; 
  } else { 
  return true; 
  } 
 } 
 // 如果焦点不是EditText则忽略,这个发生在视图刚绘制完,第一个焦点不在EditView上,和用户用轨迹球选择其他的焦点 
 return false; 
 } 
 /** 
 * 多种隐藏软件盘方法的其中一种 
 * 
 * @param token 
 */ 
 private void hideSoftInput(IBinder token) { 
 if (token != null) { 
  InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
  im.hideSoftInputFromWindow(token, 
   InputMethodManager.HIDE_NOT_ALWAYS); 
 } 
 } 
 ...... 
} 

以上所述是小编给大家介绍的Android 点击屏幕空白处收起输入法软键盘(手动打开),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android收起软键盘  # android  # 软键盘  # Android 软键盘状态并隐藏输入法的实例  # Android自定义输入法软键盘  # 给大家  # 小编  # 第一个  # 在此  # 其他的  # 弹出  # 或者是  # 可以实现  # 会使  # 没必要  # 所述  # 写上  # 给我留言  # 为了更好  # 感谢大家  # 判断是否  # 疑问请  # 空白处  # 有任何  # 情况下 


相关文章: 网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  建站之星多图banner生成与模板自定义指南  如何通过西部数码建站助手快速创建专业网站?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  如何在IIS中新建站点并配置端口与IP地址?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  如何选择香港主机高效搭建外贸独立站?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何通过虚拟主机空间快速建站?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何选择域名并搭建高效网站?  制作公司内部网站有哪些,内网如何建网站?  如何在阿里云高效完成企业建站全流程?  详解jQuery中基本的动画方法  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何在建站之星绑定自定义域名?  建站之星代理平台如何选择最佳方案?  南平网站制作公司,2025年南平市事业单位报名时间?  安云自助建站系统如何快速提升SEO排名?  平台云上自助建站如何快速打造专业网站?  如何选择高效稳定的ISP建站解决方案?  如何用好域名打造高点击率的自主建站?  韩国服务器如何优化跨境访问实现高效连接?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  行程制作网站有哪些,第三方机票电子行程单怎么开?  高端建站如何打造兼具美学与转化的品牌官网?  如何通过可视化优化提升建站效果?  如何通过远程VPS快速搭建个人网站?  营销式网站制作方案,销售哪个网站招聘效果最好?  如何制作算命网站,怎么注册算命网站?  制作证书网站有哪些,全国城建培训中心证书查询官网?  如何配置WinSCP新建站点的密钥验证步骤?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  小型网站建站如何选择虚拟主机?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  ,怎么用自己头像做动态表情包?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何在Windows服务器上快速搭建网站?  ui设计制作网站有哪些,手机UI设计网址吗?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  建站之星代理商如何保障技术支持与售后服务?  建站之星备案流程有哪些注意事项?  如何通过PHP快速构建高效问答网站功能?  如何在沈阳梯子盘古建站优化SEO排名与功能模块? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。