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

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小时内与您取得联系。