Android使用Windows弹出输入法

Android系统除了可以使用InputMethodManager来弹出输入法外,还可以使用window弹出输入法,特别是在弹窗里有Edittext需要自动弹出输入法时,使用window弹出输入法比较好使,写法如下:

// 获取窗口
Window window = requestDialog.getWindow();
//弹出输入法
window.clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

// tip:若没有成功弹出输入法,请先调用mEditText.requestFocus();再调用上述代码

另外也写下使用InputMethodManager弹出输入法的方法:

//获取输入法管理器
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
//带视图打开输入法
imm.showSoftInput(this,InputMethodManager.SHOW_FORCED);
//使用toggleSoftInput可以单独打开输入法
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

最后判断输入法是否已打开:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
//已打开返回true,没打开返回false
boolean isOpen = imm.isActive();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值