uniapp,app-plus,软键盘唤起去旋转屏幕,底部会有白底,有尝试过旋转时手动关闭润键盘,依旧没用

开着软键盘,旋转手机,下面tabbar就会异常,用的原生tabbar
https://static.dingtalk.com/media/lADPJxRxWdvM_bHNCWjNBDg_1080_2408.jpg_720x720q90g.jpg?bizType=im
https://static.dingtalk.com/media/lADPJxf-2ICTfbXNBDjNCWg_2408_1080.jpg_720x720q90g.jpg?bizType=im
https://static.dingtalk.com/media/lADPKHQpU5SQfb7NBDjNCWg_2408_1080.jpg_720x720q90g.jpg?bizType=im

img

在uniapp的app-plus模式下,软键盘唤起导致屏幕旋转问题可能是由于系统默认的安全机制所导致的。可以尝试以下方法来解决这个问题:

  1. 在manifest.json中设置页面横屏或竖屏显示,例如:
"pages": [
  {
    "path": "pages/index/index",
    "style": {
      "app-plus": {
        "titleNView": {
          "buttons": []
        },
        "preferRelatedPageOrientation": "portrait"
      }
    }
  }
]
  1. 在manifest.json中设置应用程序的固定方向,例如:
"app-plus": {
  "permissions": {
    "system": {
      "supportAutoRotation": false
    }
  }
}
  1. 尝试使用JavaScript来控制页面的方向,例如:
// 锁定屏幕为竖屏
plus.screen.lockOrientation("portrait-primary");
// 解除屏幕锁定
plus.screen.unlockOrientation();

如果没有解决问题,可以检查是否存在其他引起问题的因素,如CSS样式或代码逻辑错误等。

引用自chatGPT:
这个问题可能与 App-Plus 平台的软键盘适配有关,可以尝试以下几种解决方法:

1.使用 softinput-mode 属性调整软键盘适配方式:在 manifest.json 文件中添加 softinput-mode 属性,可以指定软键盘的适配方式,例如:

"app-plus": {
  "softinput-mode": "adjustResize"
}

adjustResize 表示当软键盘唤起时,自动调整页面大小,避免被软键盘遮挡。
2.使用 @uni/keyboard 插件控制软键盘的唤起和隐藏:@uni/keyboard 是一个 Uni-App 的插件,提供了控制软键盘的唤起和隐藏的方法。在需要控制软键盘的页面中,可以使用该插件来手动控制软键盘的显示和隐藏,例如:

import keyboard from '@uni/keyboard';
// 显示软键盘
keyboard.show();
// 隐藏软键盘
keyboard.hide();

3.尝试调整页面的布局方式:如果以上方法都无法解决问题,可以尝试调整页面的布局方式,例如将底部的元素设置为固定定位或绝对定位,避免被软键盘遮挡。
总之,针对软键盘唤起导致页面显示异常的问题,可以尝试以上几种方法,并根据具体情况选择合适的解决方案。