w***@waking.com.cn
w***@waking.com.cn
  • 发布:2016-09-02 16:41
  • 更新:2016-09-15 01:14
  • 阅读:3347

调用软键盘的速度很慢。。。

分类:Native.js

安卓机器上测试,每一次打开软件 ,第一次触发调用软键盘,要延迟2-3秒才会出来,,,
然后再点的时候,就速度很快了,,这是什么原因??
代码如下:

var openSoftKeyboard = function() {
if(mui.os.ios) {
var webView = plus.webview.currentWebview().nativeInstanceObject();
webView.plusCallMethod({
"setKeyboardDisplayRequiresUserAction": false
});
} else {
var webview = plus.android.currentWebview();
plus.android.importClass(webview);
webview.requestFocus();
var Context = plus.android.importClass("android.content.Context");
var InputMethodManager = plus.android.importClass("android.view.inputmethod.InputMethodManager");
var main = plus.android.runtimeMainActivity();
var imm = main.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);
}
}

        var openplkuang=function(){  

            setTimeout(function() {  
                document.getElementById('bottommsg').style.display='block';  
                openSoftKeyboard();  
                document.getElementById("plkuang").focus();     
            }, 500);  
        }  
2016-09-02 16:41 负责人:无 分享
已邀请:
w***@waking.com.cn

w***@waking.com.cn (作者)

不设置延时同样很慢,第一次很卡,,所以想设置长一点延时,复制代码的时候忘记去掉

  • 7***@qq.com

    请问问题解决了吗

    2019-03-27 17:32

  • 1***@qq.com

    问题解决了没,我也遇到这个问题了

    2019-10-23 10:06

赵梦欢

赵梦欢 - 专注前端,乐于分享!

你设置setTimeout自然会有延时,不用设置延时

5***@qq.com

5***@qq.com

setTimeout不设置,进入界面后还是会延迟1~2秒,如何处理?

赵梦欢

赵梦欢 - 专注前端,乐于分享!

Nativejs初次执行是会相对慢点,代码中有可以优化的地方,比如plus.android.importClas导入类对象会消耗较多的系统资源,导入过多的类对象会影响性能,在高级API中提供一组接口可以在不导入类对象的情况下调用Native API,从而提升代码运行性能,参考本文http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/88。如果想更快,可以写成5+插件。

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