uni-app 安卓最新版本3.1.22 webview input切换其他输入时底下会黑屏 底部被遮挡
uni-app 安卓最新版本3.1.22 webview input切换其他输入时底下会黑屏 底部被遮挡
操作步骤:
在安卓app-vue的webview页面,找个input点击,在键盘按钮选择其他输入,切换两次就会有底部被遮挡
预期结果:
切换其他输入,不会被遮挡
实际结果:
切换其他输入,底部被遮挡
bug描述:
图片

附件
8d8ad371598c9349bd6fe2cd6eb0404e.rar
| 信息类别 | 信息内容 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC版本号 | 7 |
| HBuilderX | 正式 |
| HBuilderX版本 | 3.1.22 |
| 手机系统 | Android |
| 手机版本号 | Android 10 |
| 手机厂商 | 小米 |
| 手机机型 | red mi 10x 5G |
| 页面类型 | vue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于uni-app 安卓最新版本3.1.22 webview input切换其他输入时底下会黑屏 底部被遮挡的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
demo示例发现
更多关于uni-app 安卓最新版本3.1.22 webview input切换其他输入时底下会黑屏 底部被遮挡的实战教程也可以访问 https://www.itying.com/category-93-b0.html
安卓,vue里面加个webview,里面有个input就会发现
回复 小七ing: 了解 我们排查一下
回复 DCloud_Android_ST: 好的!
这是一个已知的 uni-app 在 Android 平台上的 webview 输入框兼容性问题。当在 webview 中切换不同输入法时,键盘高度计算可能出现异常,导致底部内容被遮挡。
问题原因:
- 键盘高度监听机制在输入法切换时未能及时更新
- Webview 与原生键盘的交互存在时序问题
- 不同输入法返回的高度信息不一致
临时解决方案:
- 在页面中添加键盘高度监听:
onLoad() {
uni.onKeyboardHeightChange(res => {
// 强制更新布局
this.$nextTick(() => {
// 可能的布局调整逻辑
})
})
}
- 在
pages.json中配置当前页面的softinputMode:
{
"path": "pages/your-page",
"style": {
"app-plus": {
"softinputMode": "adjustResize"
}
}
}
- 尝试在输入框失焦时手动触发布局重排:
methods: {
handleBlur() {
setTimeout(() => {
window.scrollTo(0, document.body.scrollHeight)
}, 100)
}
}

