按软键盘的“前往”按钮触发脚本动作后(比如登录成功进入下一页面后),
衍生出了一个新的问题,如何隐藏软键盘呢,软键盘没有收回,iOS 8.2。
另外提下个人意见:觉得官方有必要对软键盘的相关问题整理一个专题出来,既可以让开发者有一个完整的系统,也可以防止后来者重复提问。
按软键盘的“前往”按钮触发脚本动作后(比如登录成功进入下一页面后),
衍生出了一个新的问题,如何隐藏软键盘呢,软键盘没有收回,iOS 8.2。
另外提下个人意见:觉得官方有必要对软键盘的相关问题整理一个专题出来,既可以让开发者有一个完整的系统,也可以防止后来者重复提问。
最佳回复
网上所有的资料都是用InputMethodManager.hideSoftInputFromWindow(view.getWindowToken(),0);来隐藏虚拟键盘,但是view对象是获取不到的,该方法不可行,于是我想到了用
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 来切换软键盘的隐藏和显示,我的目的是要隐藏虚拟键盘,那就要判断当前键盘是否激活,激活了才会执行该函数,那么判断键盘激活的方式就是判断窗口的大小时候变化,变化了说明键盘激活,代码如下
var win_height=window.innerHeight;//页面加载的时候记录当前窗口的高;
function closeKeyBoard(){
var current_height=window.innerHeight
var InputMethodManager = plus.android.importClass("android.view.inputmethod.InputMethodManager");
var main = plus.android.runtimeMainActivity();
if(win_height>current_height)
{
var imm = main.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
}
拓荒
让输入完一个input 后 点击一个按钮弹出提示框,然后点击提示框的确认提示框消失后键盘会重新自动弹出,即使用了你提供的代码也是这样的。
2017-08-31 09:14