首页 > 系统 > Android > 正文

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

2019-12-12 02:40:49
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表