当前位置: 移动技术网 > IT编程>移动开发>Android > Android编程实现点击EditText之外的控件隐藏软键盘功能

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

超次元偶像什么时候播,赵本山小品相亲下载,武汉经济技术开发区

本文实例讲述了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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网