android关于EditText取消默认焦点及触摸其它地方去掉光标隐藏键盘问题

这篇博客主要介绍了在Android中如何取消EditText默认获取焦点并显示光标,以及当用户点击屏幕其他区域时如何隐藏软键盘。通过将特定代码添加到EditText的父布局,可以实现这一功能。同时,由于点击其他控件不会触发触摸事件,建议将相关代码封装成方法以便重复使用。
摘要由CSDN通过智能技术生成
android:focusableInTouchMode="true"

首先看上面这句代码,只需要加在包裹EditText组件的父布局里面就可以实现取消默认得到焦点光标的操作。

// 触摸屏幕取消EditText的焦点光标
		rel.setOnTouchListener(new OnTouchListener() {

			@Override
			public boolean onTouch(View arg0, MotionEvent arg1) {
				// rel.setFocusable(true);
				// 如果xml文件里面没设置,就需要在这里设置
				// rel.setFocusableInTouchMode(true);
				rel.requestFocus();
				InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
				imm.hideSoftInputFromWindow(et1.getWindowToken(), 0);
				return false;
			}
		});

其次看上面这第二段代码,这是在针对你屏幕中最大的布局写的,在触摸这个布局的时候就会去请求焦点,里面有注释的两行代码,其中第一行我感觉是没用的,不知道会不会是因为手机问题,如果你的手机复制这样的代码实现不了效果,建议你加一下那句代码试试。 下面两行是隐藏键盘的,et1是一个EditText。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值