收藏
回答

部分机型软键盘遮挡input输入问题

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug input 客户端 Android 6.6.7 2.2.2

测试手机型号:坚果Pro2


在虚拟键未打开的情况下,输入框获得焦点后,弹出的键盘会遮盖fixed定位的输入框。

如果打开虚拟键的情况下,默认进入页面第一次会被遮盖,第二次及以后弹出键盘就正常。


推测是所有包含虚拟键(并且虚拟键可隐藏/打开)的android手机都会存在这个问题。

而且同时发现在这类手机上通过bindfocus获取的键盘高度是不准确的,比如我的测试机上未295,但当我把input定位到bottom=295px的时候,弹出键盘明显还是遮住输入框了,而且遮住的部分刚好是虚拟键的行高36px,本想直接写死,但无奈不同手机虚拟键的高度还不一样。


请问官方,该如何解决。






附上代码片段:

wechatide://minicode/QMLv7Hm47K1Y

最后一次编辑于  2018-08-16
回答关注问题邀请回答
收藏

3 个回答

  •  党萌
     党萌
    2018-08-16

    小米mix2s也有(滑稽)

    2018-08-16
    有用
    回复 1
    • 再见,电脑崽
      再见,电脑崽
      2018-08-20

      华为手机这个想象非常多。

      2018-08-20
      回复
  • 是小白啊
    是小白啊
    2018-08-15

    你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-08-15
    有用
    回复 12
    • 再见,电脑崽
      再见,电脑崽
      2018-08-16

      手机坚果Pro2

      微信版本6.6.7

      wechatide://minicode/QMLv7Hm47K1Y

      2018-08-16
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-08-16


      2018-08-16
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-08-16

      测试条件是,这类手机的虚拟键可以隐藏,隐藏后就会出现这个问题。

      比如坚果pro2可以在设置里“多任务/到桌面/回上一级”菜单里选择“上划手势触发”即可隐藏默认的虚拟键。

      我相信还有很多android都有这个功能吧。

      2018-08-16
      回复
    • 是小白啊
      是小白啊
      2018-08-16回复再见,电脑崽

      你好,反馈已收到,问题确认中,感谢反馈

      2018-08-16
      回复
    • y
      y
      2018-08-19回复是小白啊

      底部input依旧不上推  已经更新到6.7.2了

      2018-08-19
      回复
    查看更多(7)
  • 再见,电脑崽
    再见,电脑崽
    2018-08-15
    <view class='input'>
        <form bindsubmit='onSubmit'>
            <view class='inner'>
                <input value='{{inputValue}}' placeholder='写评论...' type='text' focus='{{inputFocus}}' name='meta' cursor-spacing='8' bindfocus='focus'></input>
                <view class='submit'>
                    <button class='fa fa-paper-plane-o' form-type='submit'></button>
                </view>
            </view>
        </form>
    </view>
    .input {
        position: fixed;
        z-index: 1000;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: #fff;
    }


    2018-08-15
    有用
    回复 3
    • 阿杜杜🍎
      阿杜杜🍎
      2018-08-15

      解决了吗

      2018-08-15
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-08-15回复阿杜杜🍎

      暂时只能发现一个问题设备兼容一个,手动控制cursor-spacing的值

      var sys = wx.getSystemInfoSync()
      this.setData({
          cursorSpacing: sys.brand == 'SMARTISAN' && sys.screenHeight == 828 && sys.windowHeight == 792 ? 44 : 8
      })

      44-8刚好是那36的差值。

      2018-08-15
      回复
    • 2018-10-18回复再见,电脑崽

      6.7.3 ios12 也出现这个问题,之前是没有问题的。所以这种兼容方法没有用..

      2018-10-18
      回复
登录 后发表内容