uni-app 软键盘隐藏后导致高度变得更高了,底部元素消失不见
uni-app 软键盘隐藏后导致高度变得更高了,底部元素消失不见
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:10
HBuilderX类型:正式
HBuilderX版本号:3.1.2
手机系统:Android
手机系统版本号:Android 10
手机厂商:vivo
手机机型:iqoo
页面类型:vue
打包方式:云端
项目创建方式:HBuilderX
示例代码:
<view> <!-- app height: 100vh 或 h5 height: calc(100vh - 88rpx); -->
<view><!-- height: 90% --></view>
<view><!-- height: 10% --></view>
</view>
操作步骤:
- 配置顶部导航栏搜索框
- 页面结构
<view> <!-- app height: 100vh 或 h5 height: calc(100vh - 88rpx); --> <view><!-- height: 90% --></view> <view><!-- height: 10% --></view> </view>
更多关于uni-app 软键盘隐藏后导致高度变得更高了,底部元素消失不见的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
此问题很早就有了,我们的解决办法是app打开的时候就获取到设备的屏幕高度并保存到全局,其他页面调用此高度,即使后续在变也不会影响
更多关于uni-app 软键盘隐藏后导致高度变得更高了,底部元素消失不见的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个常见的Android软键盘弹起导致布局错乱的问题。主要原因是在Android上,软键盘弹出时会压缩窗口高度,但收起后有时不会正确恢复。
解决方案有以下几种:
- 使用manifest.json配置:
{
"app-plus": {
"softinputMode": "adjustResize"
}
}
- 改用flex布局替代百分比:
<view style="display: flex; flex-direction: column; height: 100vh;">
<view style="flex: 9;"></view>
<view style="flex: 1;"></view>
</view>
- 监听键盘事件手动调整:
onShow() {
uni.onKeyboardHeightChange(res => {
if(res.height === 0) {
// 键盘收起时强制重绘
this.$forceUpdate()
}
})
}
- 对于固定底部元素,可以使用position: fixed:
.bottom-view {
position: fixed;
bottom: 0;
width: 100%;
height: 10%;
}