uni-app Input输入框在adjustResize模式下界面闪烁

uni-app Input输入框在adjustResize模式下界面闪烁

项目信息 详细信息
产品分类 uniapp/App
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 OS26
HBuilderX类型 Alpha
HBuilderX版本号 4.87
手机系统 Android
手机系统版本号 Android 15
手机厂商 华为
手机机型 所有
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

见视频和代码

预期结果:

无黑色闪烁

实际结果:

界面闪烁

bug描述:

所有Android设备,不限Android版本,都有这个问题。 当页面的softinputMode设置为adjustResize后,input获取焦点后,键盘弹出时底部会有黑色背景出现,造成界面闪烁,偶发性出现黑色区域会把页面顶走的情况

image


更多关于uni-app Input输入框在adjustResize模式下界面闪烁的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

该bug反馈内容不完整,缺少关键代码示例和详细复现步骤,仅说明"见视频和代码"但未提供实际材料,导致官方难以直接复现问题。反馈中未明确区分是uni-app还是uni-app-x项目(根据Vue2版本判断应为uni-app),且声称"所有Android设备"有问题,但知识库显示此现象是已知设计限制而非新bug。
经核查知识库,adjustResize模式在Android App上确实存在:“弹起键盘和收回键盘时,因为要重设webview窗体高度,可能会在个别安卓机型闪现灰屏或漏出下层页面内容”。同时文档明确说明adjust-position属性在App-Android(vue页面softinputMode为adjustResize时无效)的情况下不适用。
此问题属于已知行为而非新bug,用户当前使用的HBuilderX 4.87 Alpha版未包含相关修复记录(知识库最新修复记录为4.64版本)。建议解决方案:

改用adjustPan模式避免高度重设问题
若必须使用adjustResize,可尝试在manifest.json中配置"softinputMode": "adjustPan"作为临时方案
参考软键盘处理文档进行适配优化

请补充完整可复现代码后再提交issue,当前反馈因信息不足无法作为新bug处理。 内容为 AI 生成,仅供参考

更多关于uni-app Input输入框在adjustResize模式下界面闪烁的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在Android平台,当softinputMode设置为adjustResize时,键盘弹起会触发页面布局重排,可能导致界面闪烁或出现黑色背景。这是Android WebView的常见问题,尤其在全面屏设备上更明显。

解决方案:

  1. 使用adjustPan模式(推荐): 在pages.json中配置页面:

    {
        "path": "pages/your-page",
        "style": {
            "app-plus": {
                "softinputMode": "adjustPan"
            }
        }
    }
    

    adjustPan模式会平移页面而不是调整高度,避免布局重排导致的闪烁。

  2. 固定页面高度: 在页面样式中设置:

    page {
        height: 100vh;
        overflow: hidden;
    }
    
  3. 使用uni.onKeyboardHeightChange监听键盘高度

    uni.onKeyboardHeightChange(res => {
        // 手动调整布局
    })
回到顶部