android 打开和关闭输入法

最近在做类似微信朋友圈发说说和评论功能时,需要用代码手动地控制输入法的关闭和打开,遇到了一些诡异地的问题分享给大家,希望可以帮助遇到同样问题的同学

EditText etContent=findViewById(R.id.et_content)

1.打开输入法

InputMethodManager inputMethodManager = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);  
		// 接受软键盘输入的编辑文本或其它视图  
		inputMethodManager.showSoftInput(etContent,InputMethodManager.SHOW_FORCED); 


2.关闭输入法

(1)EditText获得焦点

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
							imm.hideSoftInputFromWindow(etContent.getWindowToken(), 0); //强制隐藏键盘 

2)EditText失去焦点

InputMethodManager inputMethodManager = (InputMethodManager) context
				.getSystemService(Context.INPUT_METHOD_SERVICE);
		if (inputMethodManager.isActive()) {
			inputMethodManager.hideSoftInputFromWindow(((Activity) context)
					.getCurrentFocus().getWindowToken(),
					InputMethodManager.HIDE_NOT_ALWAYS);
		}

3.获取输入法的状态

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值