chender
chender
  • 发布:2015-08-11 22:58
  • 更新:2015-08-11 23:42
  • 阅读:1959

自动弹出软键盘

分类:Native.js

今天折腾了一下自动弹出软键盘的功能,论坛里面逛了一下,貌似目前只有通过nativejs实现,然后发现在android下相应的js代码需要耗费很长的事件(华为p6上是5到9秒不等),并且这段时间内程序会处于假死状态;
瞬间感觉吐槽能量又要爆发了;
虽然之前已经累计好几个问题没有得到解决,但是都没有想要吐槽的意思,因为那几个问题没有对应的环境官方确实很难重现,最近也有打算整理一下,提供一些代码,便于官方跟踪问题;
但是像自动弹出软键盘这种基础的功能,都很难找到满意的解决方案,实在是有点说不过去啊;
建议官方自己开发一个5+的plugin(plus.tools.xxxx),把一些基础的功能整合进来,比plus.speech这种然并卵的功能有意义得多了;
刚开始时只是用点皮毛的时候感觉这套框架还是挺不错的,但越用到后面就越感觉不顺;
最近公司在招原生开发的人了,感觉自己快失业了;
纯属吐槽,如有冒犯,见谅;

2015-08-11 22:58 2 条评论 负责人:无 分享
已邀请:
Android_磊子

Android_磊子

1,你说的添加添加一些plus.tools确实有想过的,比如软键盘的弹出缩回事件,控制软键盘弹出缩回等。
2,发起问题的时候邀请相关人,或私信相关人,可能相关人有在忙别的事情,就疏忽了发的问题,在此致歉了。再有可以qq直接联系官方人员,督促解决。
3,再有,我使用红米1s测试过,说不上快但1,2秒也就出现了。参考代码如下:

        document.addEventListener("plusready",function(){  
//          setTimeout(showInput,1000);  
            showInput();  
        },false);  

        function showInput(){  
            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);  
            console.log(document.activeElement.id);  
            document.getElementById("input").focus();  
            console.log(document.activeElement.id);  
        }
  • chender (作者)

    光上面的代码还不行哦,还得加上:

    var view = plus.android.currentWebview();

    plus.android.importClass(view);

    view.requestFocus();

    2015-08-12 09:03

  • Android_磊子

    加这一句是为了,窗口隐藏再次显示时候自动弹出软键盘。

    2015-08-12 11:38

  • 飛錛

    @1595 请问怎么设置自动弹出的软键盘为数字键盘

    2017-02-23 11:07

  • qq58485273

    怎么我试了不行啊!!!自动弹出来后,马上又自动隐藏了。怎么回事?

    2018-03-22 11:01

  • qq58485273

    回复 Android_磊子:延时触发自动弹出键盘后,不会自动隐藏了,但是输入框拿不到焦点啊,还是要再点下输入框才能输入。怎么解决?

    2018-03-22 11:05

蔡繁荣

蔡繁荣 - 发表是最好的记忆

其实可以借鉴下水果的策略,iOS5的时候很多越狱插件,后来苹果都自己收入囊中,慢慢将体验提升。等于市场在帮助苹果做调研,当然苹果的策略一向如此,待市场成熟,再切入进去。

比如弹出软键盘功能,Android和iOS每次都要写两套代码,其实这是使用频率很高的功能,建议官方将其集成到h5+中,大家就不用各自实现了。
@DCloud_Android_磊子

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