Android编程实现点击EditText之外的控件隐藏软键盘功能
程序员文章站
2023-12-03 11:43:58
本文实例讲述了android编程实现点击edittext之外的控件隐藏软键盘功能。分享给大家供大家参考,具体如下:
工具类
...
public static...
本文实例讲述了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程序设计有所帮助。