android 点击文本框 不调用键盘,Android点击EditText文本框之外任何地方隐藏键盘
发布日期:2022-02-21 12:50:39 浏览次数:27 分类:技术文章

本文共 1063 字,大约阅读时间需要 3 分钟。

在BaseActivity中重写dispatchTouchEvent方法

/**

* 点击外部,使EditText隐藏

*

* @param ev

* @return

*/

@Override

public boolean dispatchTouchEvent(MotionEvent ev) {

if (ev.getAction() == MotionEvent.ACTION_DOWN) {

View v = getCurrentFocus();

if (isShouldHideInput(v, ev)) {

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

if (imm != null) {

imm.hideSoftInputFromWindow(v.getWindowToken(), 0);

}

}

return super.dispatchTouchEvent(ev);

}

// 必不可少,否则所有的组件都不会有TouchEvent了

if (getWindow().superDispatchTouchEvent(ev)) {

return true;

}

return onTouchEvent(ev);

}

public boolean isShouldHideInput(View v, MotionEvent event) {

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

int[] leftTop = {0, 0};

//获取输入框当前的location位置

v.getLocationInWindow(leftTop);

int left = leftTop[0];

int top = leftTop[1];

int bottom = top + v.getHeight();

int right = left + v.getWidth();

if (event.getX() > left && event.getX() < right

&& event.getY() > top && event.getY() < bottom) {

// 点击的是输入框区域,保留点击EditText的事件

return false;

} else {

return true;

}

}

return false;

}

转载地址:https://blog.csdn.net/weixin_33958381/article/details/117495955 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:荣耀电视鸿蒙系统安卓,刚刚!继发布或取代安卓的华为鸿蒙系统后,荣耀“电视”也来了...
下一篇:android 设置网络参数,Android网络请求-sign参数的设置方式

发表评论

最新留言

很好
[***.229.124.182]2024年04月10日 11时40分49秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【机器学习算法专题(蓄力计划)】十一、特征数据预处理 2019-04-28
【机器学习算法专题(蓄力计划)】七、机器学习中数据的相关分析 2019-04-28
【机器学习算法专题(蓄力计划)】八、机器学习中数据的方差分析 2019-04-28
【机器学习算法专题(蓄力计划)】九、机器学习中数据的假设检验 2019-04-28
【机器学习算法专题(蓄力计划)】十、机器学习中必备的高等数学和线性代数基础 2019-04-28
【机器学习算法专题(蓄力计划)】十四、机器学习中逻辑回归 2019-04-28
【机器学习算法专题(蓄力计划)】十五、机器学习中玄乎的最大熵原理及模型 2019-04-28
【机器学习算法专题(蓄力计划)】十六、机器学习中贝叶斯分类算法 2019-04-28
【爬虫】简单十行代码爬取B站的B站弹幕 2019-04-28
【PowerBi】Power Query导入Excel数据 2019-04-28
【PowerBi】Power Query 对数据进行合并查询 2019-04-28
【机器学习算法专题(蓄力计划)】十七、机器学习中决策树算法 2019-04-28
【机器学习算法专题(蓄力计划)】十八、机器学习中SVM算法中的硬间隔和软间隔 2019-04-28
【机器学习算法专题(蓄力计划)】十九、机器学习中SVM算法代码实操 2019-04-28
Python只需要三十行代码,打造一款简单的人工语音对话 2019-04-28
无须搭建环境,只需十分钟使用Google Colab平台,基于YOLOv4和Darknet来实现的物体检测 2019-04-28
在PPT的时候,发现用Python十几行代码就可以实现Logo换色 2019-04-28
原来Python破解受密码保护的zip文件这么简单,不保证一定成功 2019-04-28
学妹问我:怎么从网页下载所有图片?我答:天机不可泄露 2019-04-28
通过opencv制作人脸识别的窗口,这也太疯狂了 2019-04-28