最近写的APP,老师说我的登陆界面虽然有ScrollView滑动,但用户体验不太好,因为软键盘会挡住输入框或登录button(小米Pad,横屏,当指定只能输入数字时没找到关闭系统自带键盘的下箭头)。

虽然我觉得ScrollView就够用了,能找到登录按钮……

在默默吐槽了下连搜狗都有的功能小米没有后,上网上搜索了下解决办法。

首先,当activity加载完成后,屏蔽EditText自动弹出软键盘,需要一句话:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

当然需要在setContentView后使用;

接着,参照网上广泛例子,给根布局id并允许点击:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/user_info_add"android:layout_width="match_parent"android:layout_height="match_parent" android:background="@color/white_color"android:clickable="true"android:orientation="vertical"><!--中间省略 --></LinearLayout>

然后在对应的Activity里加入响应代码,响应点击:

ll_login = (LinearLayout)findViewById(R.id.ll_activity_login);/*点击空白区域关闭软键盘*/ll_login.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.ll_activity_login:InputMethodManager imm2 = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);imm2.hideSoftInputFromWindow(v.getWindowToken(), 0);break;}}});

想着该大功告成了吧,点击却发现软键盘无法关闭!

再查查看,问题出在ScrollView,他会屏蔽这种点击事件。解决办法不是没有,但找到的几个都对ScrollView和内部组件点击操作有一定影响( ̄_ ̄|||)

既然软键盘都能隐藏了,要你何用,删掉(╯‵□′)╯︵┻━┻

最后测试一下,没问题啦,一切正常~

PS:软键盘其实不难,但架不住千奇百怪的ERROR:

①findViewById这句话一直运行不通过,不是他下面,是他不通过:

解决办法:网上说的,IDE问题(eclipse……哎):Project→Clean;

②findViewById运行了,他的下一句setOnClickListener运行不通过:

解决办法:Debug一下,发现ll_login的值竟然是null,网上搜索下,clean过了无视,setContentView位置在前没错,View也是当前的view……

      有人说忘记xml里定义id,我之前刚做完……等等!我写的是手机平板公用的app,横竖屏都定义了,我好像只改了port没改land里的……

      改完,debug看有值了,一切正常,哭瞎……这错误卡了我n小时

Android界面隐藏软键盘的探索(兼findViewById返回null解决办法)相关推荐

  1. Android PopupWindow 隐藏软键盘的方法

    今天,简单讲讲android里  PopupWindow 弹出在底部,被软键盘遮挡的问题. 之前,自己写一个PopupWindow 弹出在底部,可是如果软键盘显示时弹出,软键盘会遮挡PopupWi ...

  2. android开发隐藏软键盘,Android开发之完全隐藏软键盘的方法

    隐藏软键盘一直是我头痛的事情,没有找到一种真正能隐藏的方法.点击EditText的时候总是弹出软键盘.-----杯具 杯具(一): InputMethodManager im =(InputMetho ...

  3. Android Cordova 对于软键盘弹出后覆盖输入域的解决

    Android平台4.2.2与Cordova2.2.0结合使用后出现软键盘弹出后,覆盖输入域问题,在Android的4.0.3中测试没有这样的问题,设置AndroidManifest.xml中的act ...

  4. android界面不可见键盘隐藏功能,Android中点击隐藏软键盘最佳方法

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

  5. Android隐藏软键盘

    网上好多方法说的隐藏方法,其实是隐藏/显示方法,即,当前键盘显示,调用一下,隐藏,在调用一下,又显示了.下面提供两种彻底隐藏的方法: /*** 软键盘显示/隐藏*/public void hideSh ...

  6. android隐藏软键盘方法,Android显示和隐藏软键盘方法

    InputMethodManager类 Android中软键盘的管理主要是通过InputMethodManager类来完成的. InputMethodManager对象的获取方法如下: 获取到Inpu ...

  7. android 输入法 确定按钮,Android项目:输入法软键盘显示/隐藏的监听和控制,InputMethodManager用法研究...

    在项目开发中,用到编辑框的地方经常涉及到要监听或者控制软键盘的显示/隐藏状态.本以为这是很容易解决的一个小问题,没想到当初碰到这个问题才明白还得花点小心思才能整好.现将针对软键盘的显示/隐藏状态的监听 ...

  8. android点击隐藏控件,Android编程实现点击EditText之外的控件隐藏软键盘功能

    本文实例讲述了Android编程实现点击EditText之外的控件隐藏软键盘功能.分享给大家供大家参考,具体如下: 工具类 ... public static void hideKeyboard(Co ...

  9. Android隐藏软键盘收回软键盘

    代码改变世界 Android隐藏软键盘收回软键盘 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPU ...

  10. android 获取键盘回车键事件,设置软键盘回车键显示内容,点击空白处隐藏软键盘

    首先设置EditText的回车属性 drawable文件 @drawable/editcolor <?xml version="1.0" encoding="utf ...

最新文章

  1. Windows10下安装Anaconda3(附带python3.7.9)+Tensorflow2.0.0+Pycharm
  2. 阿里云提示WordPress“/wp-includes/http.php输入IP验证不当”的解决办法
  3. python处理excel表格实例-python读写Excel表格的实例代码
  4. vue 中eslint 格式报错
  5. 2020-11-22(工作集与常驻集)
  6. MongoDB基础命令
  7. MySQL高级 - NULL值的判定
  8. LOOPS HDU - 3853(概率dp,期望)
  9. 文件字符串变量插入linux,Linux Shell脚本实现在文件指定的行插入字符串
  10. 分享我的数据恢复经历,IBM文件系统及存储故障数据恢复
  11. Git学习总结(12)——多人开发 Git 分支管理详解
  12. MySQL问题解决:-bash:mysql:command not found
  13. 雷人:微软CEO鲍尔默因员工用iPhone动怒
  14. itextSharp 附pdf文件解析
  15. 【源码】基于部分随机PSO的光伏MPPT算法
  16. python开发语音录入_用Excel及Python实现数据录入语音校对功能
  17. 悉尼大学计算机科学专业,悉尼大学计算机科学专业怎么样
  18. python植树问题代码_小学数学最难的13种典型题,让孩子吃透了,拿高分不难!...
  19. centos python3, There was a problem confirming the ssl certificate
  20. 2022CCPC网络预选赛c题Problem C. Guess

热门文章

  1. 一行python代码能实现什么丧心病狂的功能_一行Python 能实现什么丧心病狂的功能...
  2. 成功解决TypeError: Encoders require their input to be uniformly strings or numbers.
  3. “All in 2B”,信用算力是认真的?
  4. 2018-11-15-mqtt-mosquitto系列11之配置基于ca证书的桥接
  5. 用python实现多人聊天室小项目笔记
  6. 用python玩微信(聊天机器人,好友信息统计)
  7. 【ITool】excel导入导出工具
  8. Excel VBA——两种获取使用最大行数的方法
  9. 安装AAE v11.x Control Room简易教程
  10. 一篇荡气回肠的统计思想漫谈——漫谈相关与回归