失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > android点击隐藏控件 Android编程实现点击EditText之外的控件隐藏软键盘功能

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

时间:2023-02-21 06:36:11

相关推荐

android点击隐藏控件 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编程实现点击EditText之外的控件隐藏软键盘功能》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。