uni-app 安卓软键盘顶起tabbar问题:manifest.json中设置softinput-mode-adjustPan云打包生效,本地安卓打包不生效

uni-app 安卓软键盘顶起tabbar问题:manifest.json中设置softinput-mode-adjustPan云打包生效,本地安卓打包不生效

插件需求 # 安卓软键盘定顶起tabbar,manifest.json中设置softinput-mode-adjustPan云打包生效,本地安卓打包不生效,是不是安卓SDK里面配置的问题?工具和SDK版本都是最新对应的版本

图像

2019-06-04 11:57


更多关于uni-app 安卓软键盘顶起tabbar问题:manifest.json中设置softinput-mode-adjustPan云打包生效,本地安卓打包不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

请问您解决此问题了吗?

更多关于uni-app 安卓软键盘顶起tabbar问题:manifest.json中设置softinput-mode-adjustPan云打包生效,本地安卓打包不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


“softinput”: { “mode”: “adjustPan” }, 自定义基座不生效

针对uni-app在安卓设备上软键盘顶起tabbar的问题,通常manifest.json中的softinput-mode配置是用来调整软键盘弹出时的页面布局行为。你提到softinput-mode-adjustPan在云打包时生效,但在本地安卓打包时不生效,这可能是由于本地打包环境配置或AndroidManifest.xml的某些设置覆盖了uni-app的默认行为。

首先,确保你的manifest.json中关于软键盘的配置是正确的。这里是一个基本的配置示例,用于尝试解决软键盘顶起tabbar的问题:

{
  "mp-weixin": {},
  "app-plus": {
    "distribute": {
      // 其他分发配置...
    },
    "window": {
      "softinputMode": "adjustPan" // 设置为adjustPan尝试避免软键盘遮挡内容
    }
  }
}

然而,由于你提到本地打包不生效,可能需要检查以下几个方面:

  1. AndroidManifest.xml: 本地打包时,AndroidManifest.xml可能会被直接修改或某些属性被覆盖。检查该文件中是否有与软键盘相关的设置,如windowSoftInputMode。如果有,尝试将其删除或修改为与manifest.json中的设置一致。

  2. 本地打包环境: 确保你的本地开发环境(如HBuilderX)是最新的,因为老版本的工具可能不支持某些配置或存在bug。

  3. 代码中的处理: 如果上述配置仍不生效,可以考虑在代码中监听软键盘的弹出和收回事件,动态调整页面布局。以下是一个简单的监听软键盘高度的示例代码,使用uni-app的onKeyboardHeightChange事件:

export default {
  onKeyboardHeightChange(e) {
    console.log('软键盘高度变化', e.height);
    // 根据软键盘高度调整页面布局,例如滚动视图等
    // this.$refs.scrollView.scrollTop = this.$refs.scrollView.scrollHeight; // 示例:滚动到底部
  }
}

在页面的onLoadmounted生命周期钩子中注册该事件监听器:

onLoad() {
  uni.onKeyboardHeightChange(this.onKeyboardHeightChange);
},
onUnload() {
  uni.offKeyboardHeightChange(this.onKeyboardHeightChange);
}

注意,这种方法虽然可以解决部分问题,但可能需要根据具体页面布局做进一步的调整和优化。如果问题依然存在,建议详细检查本地打包的具体日志,查看是否有相关错误信息或警告,这有助于进一步定位问题。

回到顶部