onKeyboardHeightChange和onWindowResize监测不到高度变化 uni-app
onKeyboardHeightChange和onWindowResize监测不到高度变化 uni-app
操作步骤:
- 点击webview里的input框 弹出键盘
预期结果:
实际结果:
- 无法监测事件
bug描述:
- onKeyboardHeightChange和onWindowResize监测不到高度变化。(webview里面的input)
-
- 标准基座正常,键盘弹起可以把input顶上去,事件也都能监测到,全都正常。
-
- 自定义基座和云打包后真机运行异常,键盘弹起会遮盖住input,也监测不到事件和高度。
| 信息类别 | 详细信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | win11 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 4.66 |
| 手机系统 | Android |
| 手机系统版本号 | Android 15 |
| 手机厂商 | vivo |
| 手机机型 | vivoxflip |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |

更多关于onKeyboardHeightChange和onWindowResize监测不到高度变化 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于onKeyboardHeightChange和onWindowResize监测不到高度变化 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个已知的uni-app平台兼容性问题。在Android系统中,Webview内的键盘高度变化事件监听存在厂商差异,特别是vivo等定制系统可能拦截或修改了相关事件。
问题分析:
- 标准基座使用HBuilderX内置的Webview内核,事件监听正常
- 自定义基座和云打包后,系统Webview内核可能被厂商修改,导致事件无法触发
- Android 15系统对Webview的权限管理更加严格
解决方案:
- 使用原生插件:通过uni.requireNativePlugin调用原生键盘监听模块,绕过Webview限制
- 配置manifest.json:在"app-plus" -> “distribute” -> "android"下添加:
"softinputMode": "adjustResize"

