实现功能:点击EditText,软键盘出现并且不会隐藏,点击或者触摸EditText以外的其他任何区域,软键盘被隐藏;

1、重写dispatchTouchEvent()方法,获取当前触摸事件为DOWN的时候隐藏软键盘

@Override

public boolean dispatchTouchEvent(MotionEvent ev) {

//Finger touch screen event

if (ev.getAction() == MotionEvent.ACTION_DOWN) {

// get current focus,Generally it is EditText

View view = getCurrentFocus();

if (isShouldHideSoftKeyBoard(view, ev)) {

hideSoftKeyBoard(view.getWindowToken());

}

}

return super.dispatchTouchEvent(ev);

}

2、isShouldHideInput()方法;

/**

* Judge what situation hide the soft keyboard,click EditText view should show soft keyboard

* @param v Incident event

* @param event

* @return

*/

private boolean isShouldHideSoftKeyBoard(View view, MotionEvent event) {

if (view != null && (view instanceof EditText)) {

int[] l = { 0, 0 };

view.getLocationInWindow(l);

int left = l[0], top = l[1], bottom = top +view.getHeight(), right = left

+ view.getWidth();

if (event.getX() > left && event.getX() < right

&& event.getY() > top && event.getY() < bottom) {

// If click the EditText event ,ignore it

return false;

} else {

return true;

}

}

// if the focus is EditText,ignore it;

return false;

}

3、hideSoftKeyBoard()方法;

/**

* hide soft keyboard

* @param token

*/

private void hideSoftKeyBoard(IBinder token) {

if (token != null) {

InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

im.hideSoftInputFromWindow(token,

InputMethodManager.HIDE_NOT_ALWAYS);

}

}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

android界面不可见键盘隐藏功能,Android中点击隐藏软键盘最佳方法相关推荐

  1. android外接键盘打汉字,Android在外接物理键盘时,如何强制调用系统软键盘

    Android在外接物理键盘时,如何强制调用系统软键盘? 第一次写,写的不好请见谅 参考: 物理键盘映射过程: 手机/system/usr/keylayout/*.kl :内核将keyCode映射成有 ...

  2. 系统软键盘Android在外接物理键盘时,如何强制调用系统软键盘?

    第一次写,写的不好请见谅 物理键盘映射过程: 手机/system/usr/keylayout/*.kl :内核将keyCode映射成有含义的字符串 KeycodeLabels.h : framewor ...

  3. Android在外接物理键盘时,如何强制调用系统软键盘

    Android在外接物理键盘时,如何强制调用系统软键盘? 可以加群:466059178,可以共同讨论,大神指导 第一次写,写的不好请见谅 参考: http://blog.csdn.net/DrakeB ...

  4. android开发:沉浸式状态栏和全屏模式下输入框和软键盘冲突解决方案

    最近在做一个聊天界面 ,为了让界面好看点就把界面设成了沉浸式状态栏,然后发现沉浸式状态栏下点击输入框软键盘会把输入框给遮住,打字的时候根本不知道自己打了什么,用户体验很差. 百度了一下说在Androi ...

  5. android 键盘遮盖输入框_android弹出输入框,软键盘挡住部分编辑框

    公司要做一款类似微信的即时通讯app 现有如下需求: 当edittext获取到焦点,弹出输入框,并且将listview(recyclerview)顶上去 类似微信QQ的效果,如下图所示 editTex ...

  6. android 隐藏功能介绍,安卓手机隐藏的功能介绍,有没有你不知道的?

    前几日就连销声匿迹一段时间的诺基亚手机也发出信号说即将生产安卓系统的手机.由此可见在智能手机市场中安卓手机的地位绝对是不可动摇的.除了苹果系统的手机之外,基本上目前市面的所有手机都是安卓系统,所以我们 ...

  7. android 键盘隐藏监听,安卓监听软键盘弹出与隐藏的两种方法

    需求: 现在有一个需求是点击一行文本框,弹出一个之前隐藏的输入框,输入完成后按返回键或者其他的东西隐藏键盘和输入框,将输入框的内容填充到文本框中. 实现: 拿到这个需求的第一反应就是写一个监听来监听键 ...

  8. android隐藏键盘方法,Android中点击隐藏软键盘最佳方法

    实现功能:点击EditText,软键盘出现并且不会隐藏,点击或者触摸EditText以外的其他任何区域,软键盘被隐藏: 1.重写dispatchTouchEvent()方法,获取当前触摸事件为DOWN ...

  9. 华为手机吃鸡隐藏功能android,环幕屏只是好看?开启华为Mate30 Pro这个隐藏功能,秒变吃鸡大神!...

    原标题:环幕屏只是好看?开启华为Mate30 Pro这个隐藏功能,秒变吃鸡大神! 作为一名吃鸡游戏玩家,今天看到知名游戏博主@高龄玩家老陈 的一条微博可谓感同身受.本来已经达到了英勇黄金的段位,觉得自 ...

最新文章

  1. 04.微博消息的语言检测
  2. mysql 5.5.23 winx64,win10下mysql 5.7.23 winx64安装配置方法图文教程
  3. LeetCode 198. 打家劫舍(DP)
  4. 有意思的逻辑思维题(一)(hdu2018,2160,2053)
  5. mysql linux 中文乱码怎么解决_如何解决mysql linux 中文乱码的问题
  6. SRC漏洞挖掘经验+技巧篇
  7. APP(Android)性能测试实例(查询FPS/内存/CPU)【Appetizer+PerfDog】
  8. excel输入 正在计算机,在Excel中输入内容后如何自动填写日期和时间
  9. 网络时代的平民教育家-- Salman Khan
  10. centos python3, There was a problem confirming the ssl certificate
  11. 区块链软件开发艺术品交易平台开发NFT交易平台开发铸造源代码案例分享
  12. 顶级赛事!2021 CCF大数据与计算智能大赛重磅开赛!
  13. 这世界风华正茂可别辜负好时光
  14. 一种应用于档案馆档案库房的三维可视化温湿度监控系统平台
  15. echarts模拟迁徙图
  16. linux qt kits叹号,windows系统,HBuilderX无法启动、点击无反应、或启动报错的解决方案...
  17. 用java计算电阻,NTC热敏电阻计算公式
  18. 七日杀unity报错_七日杀游戏闪退及各种游戏报错解决攻略全解
  19. 每日一题之后缀表达式
  20. WebMatrix进阶教程(1):如何安装和使用微软全新开发工具WebMatrix

热门文章

  1. 安卓升级固件update.zip解析
  2. Mtk Android 打包解包*.img
  3. 手持机连不上信道设置为13的AP
  4. 生态篇-HBase 生态介绍
  5. 《Python从小白到大牛》第7章 运算符
  6. ConVirt 2.0.1中文汉化版
  7. Java: 数据类型
  8. Java8 Lamdba表达式 002
  9. docker supervisor管理进程
  10. 【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载【转】