gq_long
gq_long
  • 发布:2015-03-19 11:07
  • 更新:2015-08-22 12:17
  • 阅读:4752

在input聚焦时,隐藏软键盘

分类:MUI
mui

在写一个拨号界面,上面有一个搜索框。我想在点击搜索框时,弹出自己写的静态键盘,而非自身所提供的那个虚拟软键盘,在搜索框聚焦时,如何隐藏软键盘

2015-03-19 11:07 负责人:无 分享
已邀请:
microkj

microkj

网上所有的资料都是用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

该问题目前已经被锁定, 无法添加新回复