Android编程实现点击EditText之外的控件隐藏软键盘功能
本文实例讲述了Android编程实现点击EditText之外的控件隐藏软键盘功能。分享给大家供大家参考,具体如下:
工具类
... public static void hideKeyboard(Context ctx) { if (ctx != null) { View view = ((Activity) ctx).getCurrentFocus(); if (view != null) { InputMethodManager inputManager = (InputMethodManager) ctx .getSystemService(Context.INPUT_METHOD_SERVICE); inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } } }
点击除EDITTEXT之外的控件隐藏软键盘,如果是viewgroup控件,递归执行
public static void setupUI(View view, final Context ctx) { //Set up touch listener for non-text box views to hide keyboard. if(!(view instanceof EditText)) { view.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { hideKeyboard(ctx); return false; } }); } //If a layout container, iterate over children and seed recursion. if (view instanceof ViewGroup) { for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) { View innerView = ((ViewGroup) view).getChildAt(i); setupUI(innerView, ctx); } } } ... }
调用时只需要传递最外层的layout即可。
UtilApp.setupUI((RelativeLayout) findViewById(R.id.login_parent), mContext);
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》及《Android资源操作技巧汇总》
希望本文所述对大家Android程序设计有所帮助。
相关文章
Android编程使WebView支持HTML5 Video全屏播放的解决方法
这篇文章主要介绍了Android编程使WebView支持HTML5 Video全屏播放的解决方法,较为详细的分析了全屏播放所涉及的相关技巧,并给出了完整代码下载地址供读者参考,需要的朋友可以参考下2015-10-10Ubuntu中为Android系统上实现内置C可执行程序测试Linux内核驱动程序
本文主要介绍在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序,这里对测试Linux 内核驱动程序做了详细介绍,并附有代码示例,有兴趣的小伙伴可以参考下2016-08-08Android基础之使用Fragment适应不同屏幕和分辨率(分享)
以下是对Fragment的使用进行了详细的分析介绍,需要的朋友可以过来参考下2013-07-07解决ViewPager和SlidingPaneLayout的滑动事件冲突问题
下面小编就为大家分享一篇解决ViewPager和SlidingPaneLayout的滑动事件冲突问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-01-01解决android studio卡顿,提升studio运行速度的方法
这篇文章主要介绍了解决android studio卡顿,提升studio运行速度的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-03-03
最新评论