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
请问您解决此问题了吗?
更多关于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尝试避免软键盘遮挡内容
}
}
}
然而,由于你提到本地打包不生效,可能需要检查以下几个方面:
-
AndroidManifest.xml: 本地打包时,AndroidManifest.xml可能会被直接修改或某些属性被覆盖。检查该文件中是否有与软键盘相关的设置,如
windowSoftInputMode
。如果有,尝试将其删除或修改为与manifest.json
中的设置一致。 -
本地打包环境: 确保你的本地开发环境(如HBuilderX)是最新的,因为老版本的工具可能不支持某些配置或存在bug。
-
代码中的处理: 如果上述配置仍不生效,可以考虑在代码中监听软键盘的弹出和收回事件,动态调整页面布局。以下是一个简单的监听软键盘高度的示例代码,使用uni-app的
onKeyboardHeightChange
事件:
export default {
onKeyboardHeightChange(e) {
console.log('软键盘高度变化', e.height);
// 根据软键盘高度调整页面布局,例如滚动视图等
// this.$refs.scrollView.scrollTop = this.$refs.scrollView.scrollHeight; // 示例:滚动到底部
}
}
在页面的onLoad
或mounted
生命周期钩子中注册该事件监听器:
onLoad() {
uni.onKeyboardHeightChange(this.onKeyboardHeightChange);
},
onUnload() {
uni.offKeyboardHeightChange(this.onKeyboardHeightChange);
}
注意,这种方法虽然可以解决部分问题,但可能需要根据具体页面布局做进一步的调整和优化。如果问题依然存在,建议详细检查本地打包的具体日志,查看是否有相关错误信息或警告,这有助于进一步定位问题。