300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > android 键盘 自动消失 Android EditText点击弹出软键盘点击外部消失

android 键盘 自动消失 Android EditText点击弹出软键盘点击外部消失

时间:2021-10-20 22:30:15

相关推荐

android 键盘 自动消失 Android EditText点击弹出软键盘点击外部消失

在Activity中:

@Override

public boolean dispatchTouchEvent(MotionEvent ev) {

switch (ev.getAction()) {

case MotionEvent.ACTION_DOWN:

View view = getCurrentFocus();

Utils.hideKeyboard(ev, view, XiuGaiDZActivity.this);//调用方法判断是否需要隐藏键盘

break;

default:

break;

}

return super.dispatchTouchEvent(ev);

}

在utils工具类中:

public static void hideKeyboard(MotionEvent event, View view,

Activity activity) {

try {

if (view != null && view instanceof EditText) {

int[] location = {0, 0};

view.getLocationInWindow(location);

int left = location[0], top = location[1], right = left

+ view.getWidth(), bootom = top + view.getHeight();

// 判断焦点位置坐标是否在空间内,如果位置在控件外,则隐藏键盘

if (event.getRawX() < left || event.getRawX() > right

|| event.getY() < top || event.getRawY() > bootom) {

// 隐藏键盘

IBinder token = view.getWindowToken();

InputMethodManager inputMethodManager = (InputMethodManager) activity

.getSystemService(Context.INPUT_METHOD_SERVICE);

inputMethodManager.hideSoftInputFromWindow(token,

InputMethodManager.HIDE_NOT_ALWAYS);

}

}

} catch (Exception e) {

e.printStackTrace();

}

}

结束 记录一下

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