软键盘关闭的终极版
2016-09-06 14:36
295 查看
软键盘是个神奇的东西,当你知道是哪个view调起的软键盘,关闭起来so easy,最怕的就是不知道view是哪个?以及是否是上一个界面finish没有关闭的软键盘,为此有了如下的代码:
public static void hideKeyboard(Activity activity) { InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE); // 找到当前获得焦点的 view,从而可以获得正确的窗口 token View view = activity.getCurrentFocus(); // 如果没有获得焦点的 view,创建一个新的,从而得到一个窗口的 token if (view == null) { view = new View(activity); } inputMethodManager.hideSoftInputFromWindow(view.getApplicationWindowToken(), 0); if(inputMethodManager.isActive()){ Log.i("LG","键盘还没关闭"); activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); }else{ Log.i("LG","键盘已经关闭"); } }
相关文章推荐
- [转载]Activity中ConfigChanges属性的用法
- 电脑各种错误信息的中文意思
- 解决 linux DNS 服务器执行 rnc-confgen 响应慢的问题
- DM816X 实现 USB HID Gadget 鼠标键盘功能
- 在UI线程的oncreate方法中,操作软键盘无效
- 无法启动屏幕键盘
- Some understanding about the MVC
- 微软Outlook作弊表:提示和快捷方式
- Flex event 官方文档重点小结(不全)
- Windows 8: Tips and Tricks for mouse/keyboard users
- 钩子基础解
- about serial
- iOS软键盘遮挡元素时得处理办法
- 程序员工具大全(CHEAT SHEET 小抄大全)
- 使用DLL时如何处理“System.NullReferenceException”类型的异常
- Google Summer of Code 2008
- C#使用API屏蔽系统热键和任务管理器
- Android横竖屏切换
- 学习VC++深入浅出——钩子的使用
- 怎样在一个一般窗口或是Dialog上面使用分割窗口.