在写一个拨号界面,上面有一个搜索框。我想在点击搜索框时,弹出自己写的静态键盘,而非自身所提供的那个虚拟软键盘,在搜索框聚焦时,如何隐藏软键盘
- 发布:2015-03-19 11:07
- 更新:2015-08-22 12:17
- 阅读:4930
网上所有的资料都是用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);
}
}
anke
漏掉 var Context = plus.android.importClass("android.content.Context");
2015-08-23 11:02
2***@qq.com
这串代码写在哪里呢
2018-05-08 10:23
NixerSo5
完全无效
2018-09-20 09:30
EthanQu
有用,不错
2018-10-11 09:38